uni-app 视频无法播放

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

uni-app 视频无法播放

开发环境 版本号 项目创建方式
Windows windows11 HBuilderX

操作步骤:

  • 一直是使用的这个播放器 代码都是 示例代码改的都很正常,部分视频 不知道是解码器的问题还是什么,报错 error1,1,console.log,没用任何信息

预期结果:

  • 同步官方video支持的格式编码

实际结果:

  • 官方video能正常播放,迅课无法播放控制台无报错,提示error1,1

bug描述:

https://www.itying.com/uniimg.php?url=https://img-cdn-tc.dcloud.net.cn/uploads/questions/20240913/f7a97645aa7e5c96a23525fb1fd13c96.png


2 回复

你这是下的插件吧? 如果是插件的,你需要到插件下面去提问,这样作者才能看到


在处理 uni-app 中视频无法播放的问题时,首先需要确保你的开发环境和项目配置正确,并且视频文件的路径和格式是支持的。以下是一些可能的解决方案和相关的代码示例,帮助你排查和解决问题。

1. 检查视频格式和路径

确保你使用的视频格式是 uni-app 支持的(如 MP4)。同时,视频文件的路径需要正确,可以是本地路径或网络路径。

<template>
  <view>
    <video
      id="myVideo"
      src="/static/videos/sample.mp4" <!-- 确保路径正确 -->
      controls
      autoplay
    ></video>
  </view>
</template>

<script>
export default {
  data() {
    return {};
  },
  mounted() {
    const video = uni.createVideoContext('myVideo');
    video.play(); // 尝试自动播放
    video.onError((err) => {
      console.error('视频播放错误:', err.detail.errMsg);
    });
  },
};
</script>

2. 使用网络视频

如果是网络视频,确保 URL 是可访问的,并且 CORS(跨源资源共享)策略允许你的应用访问该视频。

<template>
  <view>
    <video
      id="networkVideo"
      src="https://example.com/path/to/video.mp4" <!-- 确保 URL 可访问 -->
      controls
      autoplay
    ></video>
  </view>
</template>

<script>
export default {
  data() {
    return {};
  },
  mounted() {
    const video = uni.createVideoContext('networkVideo');
    video.play();
    video.onError((err) => {
      console.error('网络视频播放错误:', err.detail.errMsg);
    });
  },
};
</script>

3. 检查项目配置

确保你的 manifest.jsonpages.json 文件中已经正确配置了相关路径和权限。

4. 使用 try-catch 捕获错误

在 JavaScript 中,虽然 video 组件的错误通常通过事件处理,但你可以在调用相关方法时使用 try-catch 来捕获可能的异常。

try {
  video.play();
} catch (error) {
  console.error('尝试播放视频时出错:', error);
}

5. 调试和日志

利用 uni-app 提供的调试工具和日志功能,检查是否有更详细的错误信息或警告,这有助于进一步定位问题。

通过上述步骤和代码示例,你应该能够排查和解决 uni-app 中视频无法播放的问题。如果问题依旧存在,可能需要检查视频文件本身是否损坏,或者服务器配置是否正确。

回到顶部