参考:import window from '@ohos.window' @Entry @Component struct VideoCreateComponent { @State videoSrc: Resource = $rawfile('video1.mp4') @State previewUri: Resource = $r('app.media.app_icon') @State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X @State isAutoPlay: boolean = true @State showControls: boolean = true controller: VideoController = new VideoController() // 设置窗口方向 setR(orientation:number){ window.getLastWindow(getContext(this)).then((win) => { win.setPreferredOrientation(orientation).then((data) => { console.log('setWindowOrientation: '+orientation+' Succeeded. Data: ' + JSON.stringify(data)); }).catch((err:string) => { console.log('setWindowOrientation: Failed. Cause: ' + JSON.stringify(err)); }); }).catch((err:string) => { console.log( 'setWindowOrientation: Failed to obtain the top window. Cause: ' + JSON.stringify(err)); }); } build() { Column() { Video({ src: this.videoSrc, previewUri: this.previewUri, currentProgressRate: this.curRate, controller: this.controller }) .objectFit(ImageFit.Contain) .width('100%') .height(600) .autoPlay(this.isAutoPlay) .controls(this.showControls) .onFullscreenChange((e ?: FullObject) =>{ if (e?.fullscreen) { this.setR(4) } else { this.setR(1) } }) Row() { Button('Fullscreen').onClick(() => { this.controller.requestFullscreen(true); }).margin(5) } } } } interface FullObject { fullscreen: boolean; }
参考: