解决uniapp原生鸿蒙系统下app的web-view不能自动播放音视频

前提

通过uni-app开发并发布原生鸿蒙系统app时发现使用web-view打开的网页不能自动播放音视频,需要用户手动点击才能播放。

这个原因是在鸿蒙工程中web-view默认配置关闭了自动播放音视频(有很多配置和权限默认都是关闭了,在代码中配置,例如需要调用麦克风或摄像头,则需要配置,详情可查看华为鸿蒙相关文档)。

另一个原因是编译出来的鸿蒙工程中依赖的相关库中对web-view相关配置缺少相关配置导致。

解决方案

通过 HBuilderX 编译出新的鸿蒙工程

关闭 HBuilderX 运行的鸿蒙

修改编译出来的鸿蒙工程 工程路径/oh_modules/.ohpm/@dcloudio+uni-app-runtime@idazlhvgikh3aw++r+ncdsd8lhisx+iuufxvzpgrtyy=/oh_modules/@dcloudio/uni-app-runtime/src/main/ets/uni-mp-sdk/components/WebView.ets 文件,改为以下内容(如果新版的 @dcloudio+uni-app-runtime 库已经添加了就可以不用再添加)

...省略部分代码
  build() {
            
    Web({
            
      src: this.src,
      controller: this.controller
    })
	...省略部分代码
	// 添加以下设置
      .javaScriptAccess(true)
      // mediaPlayGestureAccess 需要设置为 false 默认是 true,如果是true 则需要用户点击才能播放音视频
      .mediaPlayGestureAccess(false)
  }
...省略部分代码

使用DevEco-Studio编译打包

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容