HarmonyOS鸿蒙Next中使用media kit播放视频,使用的沙盒路径,播放黑屏
HarmonyOS鸿蒙Next中使用media kit播放视频,使用的沙盒路径,播放黑屏 【问题描述】:media kit使用沙盒路径播放视频黑屏
【问题现象】:media kit avplayer播放视频黑屏
【版本信息】:DevEco Studio 6.0.1 Release api版本21
【复现代码】:不适用
【尝试解决方案】:保存视频文件到沙盒路径 权限申请
5 回复
尊敬的开发者,您好,
关于您的反馈的问题,非常抱歉,回复偏慢。
AVPlayer的surfaceId属性只能在AVPlayer处于initialized状态下初始化。伙伴的代码中,在创建AVPlayer后直接设置surfaceId,此时AVPlayer处于idle状态,无法初始化surfaceId。具体可参考:使用AVPlayer播放视频中的播放状态变化示意图、AVPlayer属性中surfaceId。
async initAVPlayer() {
if (!this.surfaceId) {
console.error('surfaceId not ready');
return;
}
// 创建AVPlayer,创建后AVPlayer处于idle状态
this.avPlayer = await media.createAVPlayer();
// idle状态下无法初始化surfaceId
this.avPlayer.surfaceId = this.surfaceId
}
this.avPlayer = await media.createAVPlayer();
this.avPlayer.on('stateChange', async (state: string, reason: media.StateChangeReason) => {
switch (state) {
case 'initialized':
if (this.avPlayer) {
this.avPlayer.surfaceId = this.surfaceId;
}
console.info('initialized prepared called');
break;
// ...
default:
console.info('unknown state :' + state);
break;
}
}
更多关于HarmonyOS鸿蒙Next中使用media kit播放视频,使用的沙盒路径,播放黑屏的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
学习了
为什么我的没有通过,
鸿蒙Next中media kit播放视频黑屏问题
沙盒路径需使用正确的URI格式。确保路径以file:///data/storage/el2/base/haps/开头,并包含应用包名和文件路径。
检查文件是否存在及权限设置,使用ohos.file.fs API验证可访问性。
确认视频编码格式支持,如H.264/AVC。


