HarmonyOS 鸿蒙Next 录音音频如何存放,以及遍历

发布于 1周前 作者 zlyuanteng 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 录音音频如何存放,以及遍历
<markdown _ngcontent-sih-c149="" class="markdownPreContainer">

录音音频如何存放,放在哪个位置?以及如何遍历所有已录制音频进行展示和播放呢?

</markdown>

2 回复
可以通过AVRecorder进行音频录制 ,AVPlayer进行音频播放;
通过media.AVRecorderConfig设置音视频录制的参数,其中的url可以指定录制文件的存放地址;
关于AVRecorder进行音频录制的开发使用指导可参考官方文档:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-avrecorder-for-recording-V5

AVRecorderConfig参数中的url设置可参考如下链接中“新建并打开文件”那一行
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/app-file-access-V5#新建并读写一个文件

可参考如下代码:
this.curFile = fileIo.openSync(this.filesDir + '/Audio_' + new Date().getTime() + '.mp4', fileIo.OpenMode.READ_WRITE | fileIo.OpenMode.CREATE);

this.avConfig.url = ‘fd://’ + this.curFile.fd;<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>


至于如何遍历所有已录制音频进行展示和播放,可以将录制成功的文件名保存到state修饰的变量里,通过循环遍历该变量,
拿到已录制的文件并进行展示,通过单击事件控制音频文件的播放;

可参考如下代码:
Scroll() {
List({ space: 5 }) {
ForEach(this.fileNames, (item: [string, number], index: number) => {
ListItem() {
Text(${item[<span class="hljs-number">0</span>]} ${item[<span class="hljs-number">1</span>]}s) {
Span(${item[<span class="hljs-number">0</span>]})
Span(${item[<span class="hljs-number">1</span>]}s).fontColor(Color.Blue)
}
.backgroundColor(’#f1f3f5’)
.padding({ left: 20, right: 20, top: 8, bottom: 8 })
.width(‘100%’)
.borderRadius(15)
.borderWidth(1)
.borderColor(this.currentIndex == index ? Color.Blue : Color.Gray)
}
.onClick(() => {
this.isPlay = true;
this.currentIndex = index;
let file = fileIo.openSync(${<span class="hljs-keyword">this</span>.filesDir}/${item[<span class="hljs-number">0</span>]})
this.curFileUri = fd:<span class="hljs-comment">//${file.fd};
this.startPlayingProcess();
})
})
}
}
.scrollBar(BarState.Off)<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

更多关于HarmonyOS 鸿蒙Next 录音音频如何存放,以及遍历的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,录音音频的存放与遍历可通过以下方式实现:

存放录音音频

  1. 使用AVRecorder进行音频录制,并通过media.AVRecorderConfig设置音视频录制的参数。
  2. 在AVRecorderConfig参数中的url指定录制文件的存放地址。通常,可以创建一个文件描述符(fd)并将其路径设置为“fd://”加上文件描述符的值。
  3. 录音文件默认保存在应用的沙盒路径中,但也可通过FilePicker让用户选择存储路径,实现无感保存则较为复杂,需要额外处理。

遍历录音音频

  1. 遍历所有已录制的音频文件,可以将录制成功的文件名保存到一个变量中。
  2. 通过循环遍历该变量,拿到已录制的文件名,并展示给用户。
  3. 用户点击某个音频文件时,可通过AVPlayer进行播放。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部