gpt4 book ai didi

ios - 从音频队列 session 中删除静音在ios中录制的音频

转载 作者:行者123 更新时间:2023-11-28 22:50:54 26 4
gpt4 key购买 nike

我正在使用音频队列从 iphone 的麦克风录制音频,并在检测到静音时停止录制(10 秒内没有音频输入),但我想从音频文件中丢弃静音。

AudioInputCallback 函数中,我使用以下代码来检测静音:

AudioQueueLevelMeterState meters[1];
UInt32 dlen = sizeof(meters);
OSStatus Status AudioQueueGetProperty(inAQ,kAudioQueueProperty_CurrentLevelMeterDB,meters,&dlen);
if(meters[0].mPeakPower < _threshold)
{ // NSLog(@"Silence detected");}

但是如何删除这些数据包呢?或者还有更好的选择吗?

最佳答案

不是从 AudioQueue 中删除数据包,而是可以通过先将其写入缓冲区来延迟写入。通过将缓冲区放在 inUserData 中,可以轻松定义缓冲区。

当你完成录制时,如果最后 10 秒不是无声的,你将它写回你要写的任何文件。否则只需释放缓冲区。

关于ios - 从音频队列 session 中删除静音在ios中录制的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com