HarmonyOS 关于video组件的问题

1.通过VideoController调用requestFullscreen,想把当前video组件开启一个横屏的全屏播放,但是调用requestFullscreen方法并没有使得其横屏,请问该如何操作呢?

2.通过VideoController调用requestFullscreen开启全屏播放后,如何自定义的给这个全屏播放设置自定义ui组件呢,没有找到这个全屏播放的view。

3.通过VideoController调用requestFullscreen开启全屏播放后,如何在新的全屏播放组件设置点击事件来退出全屏。

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
shlp

横屏全屏播放,在调用requestFullscreen方法的时候可以调用一下横屏方法,是样机横屏播放就可以了,横屏代码如下:

let windowClass: window.Window | undefined = undefined;
let orientation = window.Orientation.LANDSCAPE;
try {
  window.getLastWindow(getContext(), (err: BusinessError, data) => {
    const errCode: number = err.code;
    if (errCode) {
      console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
      return;
    }
    windowClass = data;
    windowClass.setPreferredOrientation(orientation, (err: BusinessError) => {
      const errCode: number = err.code;
      if (errCode) {
        console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
        return;
      }
      console.info('Succeeded in setting window orientation.');
    });
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
  });
} catch (exception) {
  console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
};

第二个问题,VideoController调用requestFullscreen开启全屏播放后,这边的video自带的全屏功能不能自定义设置控件。

第三个问题,由于调用requestFullscreen开启全屏播放后,不能自定义设置设置控件。

针对VideoController调用requestFullscreen开启全屏播放后,这边的video自带的全屏功能不能自定义设置控件这个问题,可以给视频展示区一个高度,通过调整尺寸实现全屏的效果,同时也可以显示自定义的播放控件,提供一个demo参考:

@Entry
@Component
struct VideoPlayerPage {
  @State videoSrc: Resource = $rawfile('videoTest.mp4')
  @State previewUri: Resource = $r('app.media.background');
  controller: VideoController = new VideoController();
  @State curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X
  @State fullHeight: Length = 600
  @State isFullScreen: boolean = false
  build() {
    Column() {
      Stack({ alignContent: Alignment.Bottom }) {
        Video({ src: this.videoSrc, previewUri: this.previewUri, controller: this.controller })
          .width('100%')
          .height(this.fullHeight)
          .loop(false)
          .objectFit(ImageFit.Contain)
          .autoPlay(false)
          .controls(false)
        // 自定义控制器
        Row() {
          Text('start')
            .onClick(() => {
              this.controller.start() // 开始播放
            })
            .margin(5)
            .fontColor(Color.White)
          Text('pause')
            .onClick(() => {
              this.controller.pause() // 暂停播放
            }).margin(5)
            .fontColor(Color.White)
          Text('0.75')
            .onClick(() => {
              this.curRate = PlaybackSpeed.Speed_Forward_0_75_X // 0.75倍速播放
            })
            .margin(5)
            .fontColor(Color.White)
          Text('1')
            .onClick(() => {
              this.curRate = PlaybackSpeed.Speed_Forward_1_00_X // 原倍速播放
            })
            .margin(5)
            .fontColor(Color.White)
          Text('2')
            .onClick(() => {
              this.curRate = PlaybackSpeed.Speed_Forward_2_00_X // 2倍速播放
            })
            .margin(5)
            .fontColor(Color.White)
          Text(this.isFullScreen ? '退出全屏' : '全屏')
            .onClick(() => {
              if (this.isFullScreen) {
                this.fullHeight = 600
              } else {
                this.fullHeight = '100%'
              }
              this.isFullScreen = !this.isFullScreen
            })
            .fontColor(Color.White)
        }
        .zIndex(1)
      }
    }
    .width('100%')
    .height('100%')
    .justifyContent(FlexAlign.Center)
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS Video组件问题
738浏览 • 1回复 待解决
HarmonyOS 使用Video组件问题
25浏览 • 1回复 待解决
HarmonyOS Video组件相关问题
469浏览 • 1回复 待解决
HarmonyOS 有关Video组件一些问题
55浏览 • 1回复 待解决
HarmonyOS 关于Navigation组件问题
493浏览 • 1回复 待解决
HarmonyOS 关于Tabs组件TabContent问题
74浏览 • 1回复 待解决
HarmonyOS 关于组件装饰器问题
25浏览 • 1回复 待解决
HarmonyOS video视频问题
15浏览 • 1回复 待解决
HarmonyOS 系统Video问题
14浏览 • 1回复 待解决
HarmonyOS 关于Grid组件拖拽排序问题
501浏览 • 1回复 待解决
关于动态创建组件销毁问题
245浏览 • 1回复 待解决
鸿蒙js开发 video遇到问题
6575浏览 • 1回复 待解决
video requestFullscreen 全屏问题
989浏览 • 1回复 待解决
关于Image组件两个问题
435浏览 • 1回复 待解决
关于图片组件问题有知道吗?
1107浏览 • 1回复 待解决