HarmonyOS 鸿蒙Next如何获取音频文件如MP3的文件名称,大小,时长信息
HarmonyOS 鸿蒙Next如何获取音频文件如MP3的文件名称,大小,时长信息
具体使用可以参考文档:
AVMetadataExtractor:@ohos.multimedia.media (媒体服务)-ArkTS API-Media Kit(媒体服务)-媒体 - 华为HarmonyOS开发者
lstatSync:@ohos.file.fs (文件管理)-ArkTS API-Core File Kit(文件基础服务)-应用框架 - 华为HarmonyOS开发者
请参考demo:
readFileSize(filesDir: string) {
let filePath = filesDir + "/test.txt";
fs.stat(filePath).then((stat: fs.Stat) => {
console.info("get file info succeed, the size of file is " + stat.size);
}).catch((err: BusinessError) => {
console.error("get file info failed with error message: " + err.message + ", error code: " + err.code);
});
}
该方法是操作应用沙箱路径里的文件,您这个文件地址应该是document文档,
请参考demo:
async getFile() {
let documentSaveOptions = new picker.DocumentSaveOptions();
let documentPicker = new picker.DocumentViewPicker();
await documentPicker.select(documentSaveOptions)
.then((documentSaveResult: Array<string>) => {
let uri = documentSaveResult[0]
let file = fs.openSync(uri)
let filestat = fs.statSync(file.fd)
console.log('文件大小:' + filestat.size + 'B')
})
.catch((err: BusinessError) => {
console.log(JSON.stringify(err))
})
}
更多关于HarmonyOS 鸿蒙Next如何获取音频文件如MP3的文件名称,大小,时长信息的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS鸿蒙Next系统中,获取音频文件(如MP3)的文件名称、大小、时长信息,可以通过以下步骤实现:
-
文件名称:使用文件管理器(如
FileProvider
或Uri
处理)直接获取文件路径,通过路径分割得到文件名。 -
文件大小:通过文件系统的API,如
java.io.File
对象的length()
方法(注意:此处虽提及Java,但指概念性说明,鸿蒙API类似处理),可以获取文件大小(字节为单位)。 -
文件时长:音频文件的时长信息需通过解析音频文件的元数据获取。鸿蒙提供了媒体库(如
MediaMetadataRetriever
类,注意:此处为类比说明,实际鸿蒙API可能不同),可以加载音频文件并获取其时长。示例代码如下(假设存在类似API):
// 示例代码,注意实际鸿蒙API可能不同
MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(filePath);
String durationStr = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION);
long duration = Long.parseLong(durationStr); // 毫秒为单位
在鸿蒙系统中,应使用对应的媒体处理API实现上述功能。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html