选择视频后视频画面是黑色但是有声音 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
该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.chooseVideo 或 uni.chooseMedia 返回的视频宽高为0,说明系统未能正确解析视频的尺寸信息。
可能原因及解决方案:
-
视频编码兼容性问题:部分视频编码(如 HEVC/H.265)在小程序平台可能支持不完整,导致解码异常。尝试使用 H.264 编码的视频进行测试。
-
视频元数据损坏:视频文件的元数据(如宽高信息)可能损坏。可以尝试用工具重新转码视频(如使用 FFmpeg 转换为标准 MP4 格式)。
-
临时路径问题:确保使用
res.tempFilePath作为视频源路径。在小程序中,需通过wx.createVideoContext或video组件加载。 -
平台差异处理:不同平台(微信、支付宝等)对视频格式的支持有差异,建议在
success回调中检查res.width和res.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);
}
});

