HarmonyOS 鸿蒙Next AVPlayer 获取媒体信息示例代码运行报错
HarmonyOS 鸿蒙Next AVPlayer 获取媒体信息示例代码运行报错
AVPlayer 获取音频信息,按照官方文档的说明demo(https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-media-V5#mediadescription8)去获取媒体信息一直报错,报错信息:
current state unsupport get track description, code=5400102
function printfItemDescription(obj: media.MediaDescription, key: string) {
let value: Object = obj[key];
console.log(`audio key is: ${key}, value is: ${value}`)
}
export function mediaInfo(path: string) {
let avPlayer: media.AVPlayer | undefined = undefined;
media.createAVPlayer((err: BusinessError, player: media.AVPlayer) => {
if(player != null) {
avPlayer = player;
avPlayer.url = 'https://ting8.yymp3.com/new27/ybe/1.mp3'
console.info(`Succeeded in creating AVPlayer`);
avPlayer.getTrackDescription((error: BusinessError, arrList: Array<media.MediaDescription>) => {
if (arrList != null) {
for (let i = 0; i < arrList.length; i++) {
let property: object = arrList[i]
printfItemDescription(arrList[i], media.MediaDescriptionKey.MD_KEY_DURATION);
}
} else {
console.error(`Failed to get TrackDescription, error:${error}`);
}
});
} else {
console.error(`Failed to create AVPlayer, error message:${err.message}`);
}
});
}
更多关于HarmonyOS 鸿蒙Next AVPlayer 获取媒体信息示例代码运行报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
-
调用
getTrackDescription
方法获取音视频轨道信息,需要在prepared/playing/paused状态下调用,具体使用说明可参考文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-media-V5#gettrackdescription9 -
duration信息可以通过AVMetadataExtractor接口获取,参考以下文档
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/avmetadataextractor-V5
更多关于HarmonyOS 鸿蒙Next AVPlayer 获取媒体信息示例代码运行报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
针对HarmonyOS(鸿蒙)系统中Next AVPlayer获取媒体信息示例代码运行报错的问题,可能的原因及解决方案通常涉及以下几个方面:
-
API使用不当:确保你使用的API与鸿蒙系统的版本兼容。鸿蒙系统不断更新,API可能会有所变动。检查示例代码是否适用于你当前的系统版本。
-
权限问题:获取媒体信息通常需要相应的权限。请检查你的应用是否已经声明了必要的权限,如读取存储权限或访问媒体库的权限。
-
资源路径错误:如果示例代码中使用了硬编码的资源路径,确保该路径在你的环境中是有效的。路径错误或资源文件缺失都可能导致运行报错。
-
代码逻辑错误:仔细检查代码逻辑,特别是与媒体信息获取相关的部分。确保所有对象都已正确初始化,且调用顺序无误。
-
系统环境问题:有时候,系统环境的问题(如内存不足、其他应用干扰等)也可能导致代码运行出错。尝试在不同的设备或模拟器上运行代码,看是否能复现问题。
如果以上方法都不能解决问题,可能是示例代码本身存在缺陷或者你的系统环境有特殊情况。此时,建议直接联系鸿蒙系统的官方技术支持团队。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。