uni-app 鸿蒙next里视频无法全屏

发布于 1周前 作者 wuwangju 来自 Uni-App

uni-app 鸿蒙next里视频无法全屏

项目信息 详细信息
产品分类 uniapp/App
PC开发环境 Windows
PC开发环境版本 win11 专业版
HBuilderX类型 正式
HBuilderX版本 4.29
手机系统 HarmonyOS NEXT
手机系统版本 HarmonyOS NEXT Developer Preview
手机厂商 华为
手机机型 mate60
页面类型 vue
vue版本 vue3
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

  • 点击全屏

预期结果:

  • 视频横屏铺满

实际结果:

  • 竖屏仅中间有视频

bug描述:

  • video组件点击全屏后没有自动横屏

更多关于uni-app 鸿蒙next里视频无法全屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 鸿蒙next里视频无法全屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在处理uni-app在鸿蒙next系统上视频无法全屏的问题时,我们需要考虑几个关键方面,包括视频组件的使用、全屏API的调用以及鸿蒙系统的特定适配。以下是一个基于uni-app的视频全屏功能的代码示例,以及针对鸿蒙系统的一些额外注意事项。

1. 使用uni-app的视频组件

首先,确保你在页面中使用的是uni-app提供的<video>组件。以下是一个简单的示例:

<template>
  <view>
    <video
      id="myVideo"
      src="path/to/your/video.mp4"
      controls
      @fullscreenchange="onFullscreenChange"
    ></video>
    <button @click="enterFullscreen">全屏</button>
  </view>
</template>

<script>
export default {
  methods: {
    enterFullscreen() {
      const video = this.$refs.myVideo;
      if (video && video.requestFullscreen) {
        video.requestFullscreen();
      } else if (video && video.webkitRequestFullscreen) { // 针对webkit内核
        video.webkitRequestFullscreen();
      } else if (video && video.mozRequestFullScreen) { // 针对firefox
        video.mozRequestFullScreen();
      } else if (video && video.msRequestFullscreen) { // 针对IE/Edge
        video.msRequestFullscreen();
      }
    },
    onFullscreenChange() {
      console.log('Fullscreen status changed');
    }
  }
}
</script>

注意:在uni-app中,通常不需要直接操作DOM,但这里假设this.$refs.myVideo能够正确获取到视频元素(尽管在uni-app中直接操作DOM不是最佳实践,这里仅为演示目的)。

2. 鸿蒙系统的适配

鸿蒙系统可能对一些标准的Web API有不同的实现或限制。因此,除了上述的标准全屏API调用外,你还需要考虑以下几点:

  • 检查鸿蒙系统的文档:了解鸿蒙系统对全屏API的具体支持和限制。
  • 事件监听:确保fullscreenchange事件在鸿蒙系统上能够正确触发,并处理全屏状态的改变。
  • 备用方案:如果标准全屏API在鸿蒙系统上不可用,考虑实现一个自定义的全屏界面,通过调整布局和样式来模拟全屏效果。

3. 调试与测试

  • 在鸿蒙next系统的真机或模拟器上进行充分的测试,确保全屏功能按预期工作。
  • 使用开发者工具(如HBuilderX)的远程调试功能来检查和调试代码。

通过上述步骤,你应该能够在uni-app中实现视频在鸿蒙next系统上的全屏播放功能。如果遇到特定于鸿蒙系统的问题,建议查阅鸿蒙系统的官方文档或社区论坛获取更多帮助。

回到顶部