gpt4 book ai didi

ios - 在 iOS 中使用 GCD 发生意外冲突

转载 作者:行者123 更新时间:2023-11-28 22:09:06 25 4
gpt4 key购买 nike

我正在开发一个用于实时音频处理的应用程序,我使用“EZAudio”从麦克风(使用 GCD)获取实时样本并使用过滤器处理它们以提取特定带宽的信息。当信息提取成功时,我让 iPhone 振动。但是 iPhone 不振动。

这是在 EZMicrophoneDelegate 中使用 GCD 从麦克风获取的示例,缓冲区在填充 bufferSize 后重新加载。

// EZMicrophoneDelegate

-(void) microphone:(EZMicrophone *)microphone
hasAudioReceived:(float **)buffer
withBufferSize:(UInt32)bufferSize
withNumberOfChannels:(UInt32)numberOfChannels {
dispatch_async(dispatch_get_main_queue(), ^{
// filtering
.
.
.
// information extracting
.
.
.
// if extracting succeeded, iPhone vibrate
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
});
}

我检查了一般设置,振动模式已打开。我在没有麦克风委托(delegate)的情况下测试了其他应用程序,它们可以按预期振动。我也在viewDidLoad中调用了震动,也不能震动。所以我猜冲突与使用 GCD 的多线程有关。

有人可以就如何解决这个问题给我一些建议吗?谢谢!

最佳答案

你必须在打电话之前停止麦克风收听

AudioServicesPlaySystemSound

关于ios - 在 iOS 中使用 GCD 发生意外冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23283735/

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