首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AVAudioSession RemoteIO playAndRecord

AVAudioSession RemoteIO playAndRecord
EN

Stack Overflow用户
提问于 2017-11-18 15:22:40
回答 1查看 236关注 0票数 0

我认为,自iOS7以来,AVAudioSession API已经发生了相当大的变化,并且常常令人困惑。我的目标是设置一个RemoteIO单元,通过耳机同时录制麦克风中的音频和播放样本。如果没有耳机,则不播放。如果有蓝牙麦克风,请将其作为首选麦克风,而不是耳机麦克风或USB麦克风。如果有单独的耳机,则通过它播放样本。如果同样的蓝牙麦克风也有头戴式耳机功能,那么避免它回放样本,因为它会回送造成混乱。

完成此任务的正确API是什么?目前,我正在使用以下代码,但它不能完成全部工作。

代码语言:javascript
复制
   AVAudioSession *session = [AVAudioSession sharedInstance];


    NSUInteger bluetoothOpt = AVAudioSessionCategoryOptionAllowBluetooth;


    if (![session setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:bluetoothOpt | AVAudioSessionCategoryOptionMixWithOthers error:nil]) {
        NSLog(@"Could not set audio session category");
    }

我应该改用AVAudioSessionCategoryMultiRoute吗?如何选择首选输入和输出?在我看来,iOS 11上的所有API都有不同的表现。

EN

回答 1

Stack Overflow用户

发布于 2017-11-22 00:39:58

这些要求太复杂了,不能用AVAudioSession来实现。使用render回调在remoteIO中进行手动控制。在AVAudioSession.sharedInstance().currentRoute中,您可以获得输出和输入。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47363640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档