HarmonyOS开发中,使用Video组件播放视频会闪一下黑屏在播放,怎么解决?

在做鸿蒙应用的时候,开发播放一个mp4的广告视频时使用Video组件,但是显示的时候会先闪一下黑屏然后在播放,请问这个需要怎么解决?

阅读 809
1 个回答

有两个解决方案:
方案一:给Video设置预览图片。
方案二:给Video设置显隐控制,在Video进入start状态时,在start回调里,控制Video展示,示例代码如下:

@Entry 
@Component 
struct HeiSebeijing { 
  build() { 
    Row() { 
      Column() { 
        Text('before') 
        VideoComponent({url:'https://img.xxx.cn/xxx/images/xxx.mp4'}) 
        Text('after') 
      } 
      .width('100%') 
    } 
    .height('100%') 
  } 
} 
@Component 
struct VideoComponent { 
  @State isVisibile:Visibility=Visibility.Hidden 
  controller: VideoController = new VideoController(); 
  private url:string='' 
  build() { 
    Row() { 
      Video({ 
        src: this.url, 
        controller: this.controller 
      }) 
        .visibility(this.isVisibile) 
        .autoPlay(true) 
        .loop(true) 
        .controls(false) 
        .width('100%') 
        .height('200vp') 
        .onStart(() => { 
          this.isVisibile=Visibility.Visible 
        }) 
        .onPrepared(()=>{ 
          this.controller.setCurrentTime(0,SeekMode.NextKeyframe) 
        }) 
    } 
  } 
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题