2 回复
可通过音频元数据来获取,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/avmetadataextractor-0000001813575908-V5
try {
let fd = fs.openSync(path, fs.OpenMode.READ_WRITE | fs.OpenMode.CREATE).fd;
let state = fs.statSync(fd)
let avFileDescriptor: media.AVFileDescriptor = { fd:fd, offset: 0, length: state.size };
// 创建AVMetadataExtractor对象
let avMetadataExtractor = await media.createAVMetadataExtractor()
avMetadataExtractor.fdSrc = avFileDescriptor
// 获取元数据(promise模式)
await avMetadataExtractor.fetchMetadata().then((result) => {
Log.info(`音频信息 get meta data: ${JSON.stringify(result)}`)
})
//
// // 获取专辑封面(promise模式)
// let pixelMap = await avMetadataExtractor.fetchAlbumCover()
// Log.info(`音频信息 get meta data, pixelMap: ${JSON.stringify(pixelMap)}`)
// 释放资源(promise模式)
fs.close(fd)
avMetadataExtractor.release()
} catch (e) {
Log.info("异常:" +e)
}
更多关于HarmonyOS 鸿蒙Next如何获取在线音频的时长的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中获取在线音频的时长,通常需要通过与音频服务或提供API的第三方服务进行交互。以下是一个简要的步骤概述,不涉及具体的编程语言实现细节:
-
使用音频服务API:
- 鸿蒙系统可能提供了音频服务的API接口,用于获取音频文件的元数据,包括时长。查阅鸿蒙系统的官方文档,了解音频服务模块提供的API和功能。
-
第三方音频服务:
- 如果鸿蒙系统本身没有提供直接的API,可以考虑使用第三方音频服务(如在线音乐平台API)。这些服务通常提供获取音频文件信息的接口,包括时长。
-
网络请求:
- 对于在线音频,可能需要通过HTTP请求获取音频文件的头部信息(如ID3标签或其他元数据格式),这些信息中通常包含音频的时长。
-
解析元数据:
- 获取到音频文件的元数据后,解析出时长信息。这可能需要处理特定的数据格式和编码。
请注意,具体操作步骤和所需权限可能因鸿蒙系统版本、音频文件格式和第三方服务而有所不同。务必参考最新的鸿蒙系统文档和第三方服务的API指南。
如果问题依旧没法解决请联系官网客服,官网地址是: https://www.itying.com/category-93-b0.html