uniapp app 安卓uni.getvideoinfo没反应是什么原因
在uniapp开发的安卓APP中,调用uni.getVideoInfo()方法没有任何反应,既没有返回数据也没有报错。请问可能是什么原因导致的?需要检查哪些配置或权限?是否和安卓版本或机型有关?
2 回复
在UniApp中,uni.getVideoInfo 方法在安卓端无响应,通常由以下原因导致:
-
文件路径问题
确保传入的src为有效的本地文件路径(如_www/或_doc/目录)。不支持网络URL或不正确路径。// 示例:正确使用本地路径 uni.getVideoInfo({ src: '_www/video/test.mp4', success: (res) => { console.log('视频信息:', res); }, fail: (err) => { console.error('获取失败:', err); } }); -
文件格式兼容性
安卓设备对视频编码格式(如H.264)和容器(如MP4)有要求。不支持的格式可能导致方法无响应。 -
权限配置缺失
在manifest.json中确保已添加必要的存储权限:"permissions": { "android": { "requestPermissions": ["READ_EXTERNAL_STORAGE", "WRITE_EXTERNAL_STORAGE"] } } -
路径协议错误
使用plus.io.convertLocalFileSystemURL()将平台路径转换为可识别的本地URL:const localPath = plus.io.convertLocalFileSystemURL('_www/video/test.mp4'); -
异步处理问题
确保在文件已完整下载或创建后调用方法,避免文件未就绪。
排查步骤:
- 检查控制台是否有错误日志。
- 使用绝对路径并确认文件存在。
- 测试不同格式的视频文件。
- 在真机调试中确认权限已授予。
若问题持续,尝试使用 uni.chooseVideo 选择视频后获取信息,或检查HBuilderX版本及插件兼容性。


