选择视频后视频画面是黑色但是有声音 uni-app

选择视频后视频画面是黑色但是有声音 uni-app

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

操作步骤:

uni.chooseVideo({
sourceType: ['album', 'camera'],
compressed: true,
success: function (res) {
console.log('选择视频成功:', res);
}
});

预期结果:

视频选择完应该有画面

实际结果:

黑屏但有声音

bug描述:

在微信小程序中,javascript uni.chooseMedia({ count: 9, mediaType: ['video'], sourceType: ['album', 'camera'], maxDuration: 30, camera: 'back', success(res) { console.log(res.tempFiles[0]) } }) 或者 uni.chooseVideo 选择视频后返回的视频宽高都是0,导致视频画面黑屏,但是有声音。


更多关于选择视频后视频画面是黑色但是有声音 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

该bug反馈描述基本清晰但信息不完整。问题核心是微信小程序中使用uni.chooseMedia/uni.chooseVideo后视频画面黑屏但有声音,且返回宽高为0。反馈缺少关键信息:测试设备型号、系统版本、微信版本号,以及完整的视频播放代码示例(仅展示选择接口未展示如何渲染视频),导致难以准确复现。
从知识库分析:uni.chooseVideo在微信小程序平台支持(需微信2.10.0+),正常应返回有效宽高值(知识库明确列出width/height在微信小程序支持)。问题可能源于:

微信基础库版本兼容性问题(需确认是否低于2.10.0)
视频元数据读取异常(特定格式视频可能导致宽高信息获取失败)
用户代码未正确处理tempFilePath(常见错误是直接用本地路径而未通过uni.saveFile保存)

知识库提示Android平台需注意Google政策影响(参考视频权限插件),但用户反馈的是微信小程序场景,与Android政策无关。建议用户:

补充完整视频播放代码(检查是否使用

当前信息不足以判定为框架bug,更可能是使用方式或特定环境兼容性问题。需用户提供更多细节才能进一步排查,建议参考uni.chooseVideo文档。 内容为 AI 生成,仅供参考

更多关于选择视频后视频画面是黑色但是有声音 uni-app的实战教程也可以访问 https://www.itying.com/category-93-b0.html


视频黑屏但有声音的问题,通常是由于视频编码或元数据问题导致的。在 uni-app 中,uni.chooseVideouni.chooseMedia 返回的视频宽高为0,说明系统未能正确解析视频的尺寸信息。

可能原因及解决方案:

  1. 视频编码兼容性问题:部分视频编码(如 HEVC/H.265)在小程序平台可能支持不完整,导致解码异常。尝试使用 H.264 编码的视频进行测试。

  2. 视频元数据损坏:视频文件的元数据(如宽高信息)可能损坏。可以尝试用工具重新转码视频(如使用 FFmpeg 转换为标准 MP4 格式)。

  3. 临时路径问题:确保使用 res.tempFilePath 作为视频源路径。在小程序中,需通过 wx.createVideoContextvideo 组件加载。

  4. 平台差异处理:不同平台(微信、支付宝等)对视频格式的支持有差异,建议在 success 回调中检查 res.widthres.height,若为0则提示用户“视频格式不支持”。

代码调整示例:

uni.chooseVideo({
  sourceType: ['album', 'camera'],
  success: function (res) {
    if (res.width === 0 || res.height === 0) {
      uni.showToast({ title: '视频格式不支持', icon: 'none' });
      return;
    }
    // 正常处理视频
    console.log('视频信息:', res);
  }
});
回到顶部