HarmonyOS 鸿蒙Next:avPlayer播放filesDir中MP4报错5400106,但播放rawfile里同MP4正常

发布于 1周前 作者 yibo5220 来自 鸿蒙OS

HarmonyOS 鸿蒙Next:avPlayer播放filesDir中MP4报错5400106,但播放rawfile里同MP4正常

用的是文档里的代码:

// 以下demo为使用fs文件系统打开沙箱地址获取媒体文件地址并通过url属性进行播放示例
async avPlayerUrlDemo() {
    // 创建avPlayer实例对象
    let avPlayer: media.AVPlayer = await media.createAVPlayer();
    // 创建状态机变化回调函数
    this.setAVPlayerCallback(avPlayer);
    let fdPath = 'fd://';
    let context = getContext(this) as common.UIAbilityContext;
    // 通过UIAbilityContext获取沙箱地址filesDir,以Stage模型为例
    let pathDir = context.filesDir;
    let path = pathDir + '/H264_AAC.mp4';
    // 打开相应的资源文件地址获取fd,并为url赋值触发initialized状态机上报
    let file = await fileIo.open(path);
    fdPath = fdPath + '' + file.fd;
    this.isSeek = true; // 支持seek操作
    avPlayer.url = fdPath;
}

更多关于HarmonyOS 鸿蒙Next:avPlayer播放filesDir中MP4报错5400106,但播放rawfile里同MP4正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复
## 5400106 不支持的规格

**错误信息**

Unsupport format.


**错误描述**

不支持的规格。


**可能原因**

不支持的文件或者格式。


**处理步骤**

当前使用的格式规格不支持,用户需要切换为支持的规格。


参考文档:[5400106 不支持的规格](https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/errorcode-media-V5#section5400106-%E4%B8%8D%E6%94%AF%E6%8C%81%E7%9A%84%E8%A7%84%E6%A0%BC)

建议先检查一下对应路径下有没有相关文件。

更多关于HarmonyOS 鸿蒙Next:avPlayer播放filesDir中MP4报错5400106,但播放rawfile里同MP4正常的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


针对帖子标题中提到的HarmonyOS(鸿蒙)系统中avPlayer播放filesDir中MP4报错5400106,但播放rawfile里同MP4正常的问题,可能的原因及解决方案如下:

报错5400106通常指示播放器在尝试播放文件时遇到了问题,可能是文件路径、权限或文件格式相关的问题。由于播放rawfile中的相同MP4文件没有问题,可以推断播放器本身支持该格式,问题更可能出在文件路径或权限上。

  1. 文件路径问题:检查filesDir中MP4文件的路径是否正确。确保路径字符串没有错误,且文件确实存在于该路径下。

  2. 文件权限问题:鸿蒙系统对应用访问文件系统的权限有严格控制。确认应用是否有权限访问filesDir中的文件。可以尝试在应用的manifest文件中添加必要的文件访问权限。

  3. 文件损坏或格式问题:虽然播放rawfile中的MP4正常,但filesDir中的文件可能在复制或传输过程中损坏。可以尝试重新复制文件到filesDir,或检查文件的完整性。

如果上述方法均未能解决问题,可能是系统或播放器本身的bug。此时,建议直接联系鸿蒙系统的开发者支持或访问官网客服。

如果问题依旧没法解决请联系官网客服, 官网地址是 https://www.itying.com/category-93-b0.html

回到顶部