Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c AvaudioSessionCategoryPlay和Record使AirPlay不可见_Objective C_Ios_Ipad_Airplay_Avaudiosession - Fatal编程技术网

Objective c AvaudioSessionCategoryPlay和Record使AirPlay不可见

Objective c AvaudioSessionCategoryPlay和Record使AirPlay不可见,objective-c,ios,ipad,airplay,avaudiosession,Objective C,Ios,Ipad,Airplay,Avaudiosession,我遇到以下问题:每当我在应用程序中将播放和录制类别设置为音频会话时,AirPlay将不可用: [[AVAudioSession sharedInstance] setCategory: AVAudioSessionCategoryPlayAndRecord error: &setCategoryError]; 此呼叫使AirPlay消失,并立即将音频重新路由到扬声器 例如,通过将AVAudioSessionCategoryPlayback类别替换为AVA

我遇到以下问题:每当我在应用程序中将播放和录制类别设置为音频会话时,AirPlay将不可用:

[[AVAudioSession sharedInstance]
        setCategory: AVAudioSessionCategoryPlayAndRecord
        error: &setCategoryError];
此呼叫使AirPlay消失,并立即将音频重新路由到扬声器

例如,通过将
AVAudioSessionCategoryPlayback
类别替换为
AVAudioSessionCategoryPlayback
类别,可以很容易地在Xcode文档中的示例项目
avTouch
上重现该问题:在原始示例中,AirPlay picker可见并允许更改输出源,而使用
AVAudioSessionCategoryPlayAndRecord
类别时,选择器将消失

是否有合适的方法切换到
avaudioSessionCategoryPlay和Record
类别,以便AirPlay仍然可用


(像这样的问题一直存在,但没有得到任何答案。)

嗯,AirPlay和PlayAndRecord类别是不兼容的。 这就是我从苹果论坛学到的


当音频输出发生在其他地方时,为什么您需要在设备上输入音频?

我认为您应该在上面添加下面的代码
AVAudioSession
。我希望它能起作用

NSError *setCategoryError = nil;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error: &setCategoryError];

if (setCategoryError) {
    // Handle error
}

你想用什么AirPlay设备?它有麦克风吗

如果没有,iOS在使用PlayAndRecord类别时不会将其作为选项,因为该设备无法播放和录制。但在使用Play类别时,它会显示出来


另外,如果您正在使用的设备是蓝牙设备,您是否已将AVAudioSessionCategoryOptionAllowBluetooth设置为YES?

您可能需要尝试使用一些专用API。检查这是否有帮助。他们提到了一些私人API。@ACB:谢谢!我看过上面提到的文章,但正如你所说,他们使用的是私有API,我不能使用,因为我工作的项目是通过App Store分发的。@Anastasia你有解决方案吗?我和你面临着同样的问题。Thanks@Jacky不,我没有办法。Jonathan Arbogast的想法听起来很有可能。该应用程序播放视频流(可能通过AirPlay输出声音)并同时记录所述流。有意义吗?关键是,音频在插入式耳机中正常工作,所以我很自然地认为AirPlay连接的耳机也应该以同样的方式工作。-1:你想要它的原因有很多。我的一位客户希望使用我的音频监控软件通过airplay播放音频,然后监控iPhone记录的内容(在测量模式下),来执行房间响应检查。如此恼人以至于苹果完全阻止了这一切。