gpt4 book ai didi

ios - AVAudioSession 在播放奇怪问题时记录

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:10 26 4
gpt4 key购买 nike

对于我正在制作的应用程序的一部分,我需要录制用户的音频。我已选择使用 AVAudioRecorder 来执行此操作。

问题是当我开始录制音频时,设备上播放的所有音频都暂停了。然后,我查看了 AVAudioSession 的 Apple 文档,并将录音选项设置为:AVAudioSessionCategoryOptionMixWithOthers

问题是,每当我开始录音时,设备上播放的任何音频都会从主外部扬声器切换到小型电话(调用)扬声器。

我的目标是录制音频,同时仍然允许设备的所有其他音频通过主扬声器输出。

我怎样才能做到这一点?

这是我目前的代码:

AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers error:&error];
[audioSession setActive:YES error:&error];

recorder = [[AVAudioRecorder alloc] initWithURL:url settings:settings error:&error];

if(recorder != nil){
[recorder prepareToRecord];
recorder.meteringEnabled = YES;
[recorder record];
levelTimer = [NSTimer scheduledTimerWithTimeInterval:0.03 target:self selector:@selector(levelTimerCallback:) userInfo:nil repeats:YES];
}else{
NSLog(@"Error: %@",[error description]);
}//end if

谢谢!

最佳答案

也许您可以尝试使用 AVAudioSessionCategoryOptionDefaultToSpeaker。根据AVAudioSession引用:

When using this option and no other audio route (such as a headset) is available, session audio will play through the device’s built-in speaker. When not using this option, and no other audio output is available or selected, audio will play through the receiver (a speaker intended to be held to the ear).

关于ios - AVAudioSession 在播放奇怪问题时记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24276016/

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