HarmonyOS 鸿蒙Next AVPlayer 获取媒体信息示例代码运行报错

发布于 1周前 作者 wuwangju 最后一次编辑是 5天前 来自 鸿蒙OS

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

2 回复
  1. 调用getTrackDescription方法获取音视频轨道信息,需要在prepared/playing/paused状态下调用,具体使用说明可参考文档:
    https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-media-V5#gettrackdescription9

  2. 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获取媒体信息示例代码运行报错的问题,可能的原因及解决方案通常涉及以下几个方面:

  1. API使用不当:确保你使用的API与鸿蒙系统的版本兼容。鸿蒙系统不断更新,API可能会有所变动。检查示例代码是否适用于你当前的系统版本。

  2. 权限问题:获取媒体信息通常需要相应的权限。请检查你的应用是否已经声明了必要的权限,如读取存储权限或访问媒体库的权限。

  3. 资源路径错误:如果示例代码中使用了硬编码的资源路径,确保该路径在你的环境中是有效的。路径错误或资源文件缺失都可能导致运行报错。

  4. 代码逻辑错误:仔细检查代码逻辑,特别是与媒体信息获取相关的部分。确保所有对象都已正确初始化,且调用顺序无误。

  5. 系统环境问题:有时候,系统环境的问题(如内存不足、其他应用干扰等)也可能导致代码运行出错。尝试在不同的设备或模拟器上运行代码,看是否能复现问题。

如果以上方法都不能解决问题,可能是示例代码本身存在缺陷或者你的系统环境有特殊情况。此时,建议直接联系鸿蒙系统的官方技术支持团队。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部