gpt4 book ai didi

ios - AVCaptureSession 处于事件状态时的 AudioServicesPlaySystemSound

转载 作者:可可西里 更新时间:2023-11-01 04:02:39 24 4
gpt4 key购买 nike

我正在开发录音应用程序,我想在录音开始时播放声音。

不幸的是,从 iOS 5 开始,当带有音频设备的 AVCaptureSession 处于事件状态时,似乎无法播放系统声音。

这是我正在使用的代码的相关部分

- (void)viewDidLoad {
[super viewDidLoad];

NSURL * soundURL = [[NSBundle mainBundle] URLForResource:@"recording-starts" withExtension:@"aif"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &_recStartSound);

//...

if ([self.captureManager setupSession]) {
// ...

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[self.captureManager.session startRunning];
});

// ...
}
}

稍后,我只是调用 AudioServicesPlaySystemSound(_recStartSound) 并且没有任何反应。但是,如果我在 session 设置之前进行相同的调用,声音会按预期播放。

我找到了这个 bug report ,这与我的问题以及 this 完全相关和 this问题,但我找不到任何解决方法。

如何在开始 AV 录制之前播放一段短音?

最佳答案

改为使用 AVAudioPlayer 播放声音。

关于ios - AVCaptureSession 处于事件状态时的 AudioServicesPlaySystemSound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956497/

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