HarmonyOS 鸿蒙Next video组件播放视频隐藏下方播放进度条方法,实现page背景为mp4

发布于 1周前 作者 bupafengyu 来自 鸿蒙OS

HarmonyOS 鸿蒙Next video组件播放视频隐藏下方播放进度条方法,实现page背景为mp4

如题:video组件播放视频有没有隐藏下方播放进度条的方法,需要实现的需求是一个page的背景是一段mp4

3 回复
可以通过设置属性controls为false关闭默认控制栏。设置Video组件的controller。

通过ArkTS实现自定义的控制栏,并通VideoController控制视频播放。

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-media-components-video-V5#controls

demo示例:

[@Entry](/user/Entry)
[@Component](/user/Component)
struct VideoCreateComponent {
  [@State](/user/State) videoSrc: Resource = $rawfile('test.mp4')
  [@State](/user/State) previewUri: Resource = $r('app.media.ic_cart_focus')
  [@State](/user/State) curRate: PlaybackSpeed = PlaybackSpeed.Speed_Forward_1_00_X
  [@State](/user/State) isAutoPlay: boolean = false
  [@State](/user/State) showControls: boolean = true
  controller: VideoController = new VideoController()
  build() {
    Column() {
      Video({
        src: this.videoSrc,
        previewUri: this.previewUri,
        currentProgressRate: this.curRate,
        controller: this.controller
      }).width('100%').height(600)
        .autoPlay(this.isAutoPlay)
        .controls(this.showControls)
        .onStart(() => {
          console.info('onStart')
        })
        .onPause(() => {
          console.info('onPause')
        })
        .onFinish(() => {
          console.info('onFinish')
        })
        .onError(() => {
          console.info('onError')
        })
        .onPrepared((e) => {
          console.info('onPrepared is ' + e.duration)
        })
        .onSeeking((e) => {
          console.info('onSeeking is ' + e.time)
        })
        .onSeeked((e) => {
          console.info('onSeeked is ' + e.time)
        })
        .onUpdate((e) => {
          console.info('onUpdate is ' + e.time)
        })
      Row() {
        Button('src').onClick(() => {
          this.videoSrc = $rawfile('test.mp4') // 切换视频源
        }).margin(5)
        Button('previewUri').onClick(() => {
          this.previewUri = $r('app.media.scenery') // 切换视频预览海报
        }).margin(5)
        Button('controls').onClick(() => {
          this.showControls = !this.showControls // 切换是否显示视频控制栏
        }).margin(5)
      }
      Row() {
        Button('start').onClick(() => {
          this.controller.start() // 开始播放
        }).margin(5)
        Button('pause').onClick(() => {
          this.controller.pause() // 暂停播放
        }).margin(5)
        Button('stop').onClick(() => {
          this.controller.stop() // 结束播放
        }).margin(5)
        Button('setTime').onClick(() => {
          this.controller.setCurrentTime(10, SeekMode.Accurate) // 精准跳转到视频的10s位置
        }).margin(5)
      }
      Row() {
        Button('rate 0.75').onClick(() => {
          this.curRate = PlaybackSpeed.Speed_Forward_0_75_X // 0.75倍速播放
        }).margin(5)
        Button('rate 1').onClick(() => {
          this.curRate = PlaybackSpeed.Speed_Forward_1_00_X // 原倍速播放
        }).margin(5)
        Button('rate 2').onClick(() => {
          this.curRate = PlaybackSpeed.Speed_Forward_2_00_X // 2倍速播放
        }).margin(5)
      }
    }
  }} 

更多关于HarmonyOS 鸿蒙Next video组件播放视频隐藏下方播放进度条方法,实现page背景为mp4的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,针对Next video组件播放视频时隐藏下方播放进度条的需求,以及实现页面背景为MP4视频的功能,可以通过以下方式实现:

隐藏播放进度条

  1. 自定义控件样式:检查Next video组件的XML布局文件,通过修改或覆盖默认样式来隐藏播放进度条。通常,可以通过设置相关属性的透明度或可见性为“不可见”来实现。

  2. 编程方式隐藏:在视频组件的控制器类中,查找进度条控件,并直接设置其不可见或禁用。

实现页面背景为MP4

  1. 使用SurfaceView或TextureView:在页面的布局文件中,使用SurfaceView或TextureView来承载视频内容,并将MP4视频作为背景播放。

  2. 视频全屏播放与背景融合:确保视频在全屏模式下播放,并通过调整布局和样式,使视频内容能够无缝覆盖整个页面,达到背景效果。

  3. 视频循环播放:为实现持续的背景效果,需要设置视频为循环播放模式。

请注意,上述方法可能需要根据具体的鸿蒙系统版本和组件库进行调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部