【发布时间】:2013-07-30 20:13:29
【问题描述】:
我正在开发一个录音应用程序,我想在录音开始时播放声音。
不幸的是,从 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),但没有任何反应。
但是,如果我在会话设置之前进行相同的调用,声音会按预期播放。
我发现了这个与我的问题完全相关的bug report,以及this 和this 的问题,但我都找不到任何解决方法。
如何在开始 AV 录制之前播放短声音?
【问题讨论】:
-
播放声音,然后开始捕捉?
-
这是一个非常相似的上一个问题:stackoverflow.com/questions/16309802/…
-
谁能帮我解答这个问题stackoverflow.com/questions/21059607/…
标签: ios avcapturesession audiotoolbox