HarmonyOS 鸿蒙Next 录音音频之后 如何拿到音频文件的内存路径
HarmonyOS 鸿蒙Next 录音音频之后 如何拿到音频文件的内存路径
录音音频之后 如何拿到音频文件的内存路径 不是uri路径
// 开始录制
async beginCollectVoice() {
try {
if (this.avRecorder == undefined) {
// 1.创建录制实例
this.avRecorder = await media.createAVRecorder();
}
this.setAudioRecorderCallback();
// 2.获取录制文件fd赋予avConfig里的url;参考FilePicker文档
this.curFile = fileIo.openSync(this.filesDir + '/Audio_' + new Date().getTime() + '.mp3',
fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE);
this.avConfig.url = 'fd://' + this.curFile.fd;
this.soundData.file = `internal://cache/${this.curFile.name}`
// 3.配置录制参数完成准备工作
await this.avRecorder.prepare(this.avConfig);
// 4.开始录制
this.textTimerController.start()
await this.avRecorder.start();
this.recordFlag = true;
} catch (err) {
console.log(TAG, 'startRecordingProcess' + JSON.stringify(err))
}
}
// 停止录制对应的流程
async stopRecordingProcess() {
if (this.avRecorder != undefined) {
// 1. 停止录制
if (this.avRecorder.state === 'started'
|| this.avRecorder.state === 'paused') { // 仅在started或者paused状态下调用stop为合理状态切换
await this.avRecorder.stop();
}
// 2.重置
this.recordFlag = false;
await this.avRecorder.reset();
this.textTimerController.reset();
// 3.释放录制实例
await this.avRecorder.release();
this.fileNames.push([this.curFile?.name ? this.curFile?.name : '', this.totalTime])
console.info("录音列表", JSON.stringify(this.fileNames))
// 4.关闭录制文件fd
fileIo.closeSync(this.curFile)
console.info('录音文件地址', JSON.stringify(this.curFile)) // 打印结果 {}
this.avRecorder = undefined;
}
}
2 回复
作为IT专家,对于HarmonyOS 鸿蒙Next录音音频后如何拿到音频文件的内存路径的问题,以下是一些具体的操作方式:
-
使用内置录音应用:
- 在鸿蒙系统上的录音应用中,您可以查看和管理通过该应用创建的所有录音文件。
- 这些文件一般会存储在设备的内部存储空间或特定文件夹中,录音应用内通常会有查看文件路径的选项。
-
使用文件管理器:
- 打开手机中的“文件管理”应用。
- 选择“来源”为“录音机”的文件夹,即可查看所有录音文件及其内存路径。
- 录音文件可能位于内部存储空间中的“Sounds”、“Recordings”、“Voice Recorder”等目录中。
-
通过编程获取:
- 如果您在开发鸿蒙应用,可以通过编程方式获取录音文件的路径。
- 具体方法涉及访问设备的存储API,并查询录音文件所在的目录。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html 。