gpt4 book ai didi

通话后iOS后台录音

转载 作者:可可西里 更新时间:2023-11-01 05:41:11 25 4
gpt4 key购买 nike

我正在开发一个在后台录制音频的 iOS 应用程序。这很好。
问题是来电时:当我打电话时,应用程序停止录音(没关系),但当通话结束时,我需要应用程序再次开始录音。

这可能吗?我该怎么做?

感谢大家。

更新

我使用 AudioQueueNewInput 来录制音频。现在我正在尝试使用此代码来接听来电:

AVAudioSession *session = [AVAudioSession sharedInstance];
NSError *categoryError = nil;
[session setActive: NO error: nil];
if (![session setCategory:AVAudioSessionCategoryPlayAndRecord
withOptions:AVAudioSessionCategoryOptionMixWithOthers
error:&categoryError]){
NSLog(@"Error"); //no error
}
[session setActive: YES error: nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(handleAudioSessionInterruption:)
name:AVAudioSessionInterruptionNotification
object:session];

我可以通过 AVAudioSessionInterruptionOptionShouldResume 结束对 handleAudioSessionInterruption 的调用,但是如何重新启动我的录音机?

我尝试再次调用 AudioQueueStart o 与我用来开始录音的功能完全相同,但我看不到红色条(麦克风正在使用),无法知道该应用正在录音。怎么了?

最佳答案

请看这个问题: Can not restart an interrupted audio input queue in background mode on iOS

Yes it is possible, but to reactivate the session in the background, the audio session has to either set AudioSessionProperty kAudioSessionProperty_OverrideCategoryMixWithOthers

OSStatus propertySetError = 0;
UInt32 allowMixing = true;
propertySetError = AudioSessionSetProperty (
kAudioSessionProperty_OverrideCategoryMixWithOthers,
sizeof (allowMixing),
&allowMixing);

or the app has to receive remote control command events:

[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];

关于通话后iOS后台录音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311856/

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