我的应用程序使用麦克风和音频输出,所以我设置我的音频会话的播放和录音范畴,但这似乎禁用的Airplay。 如果我设定播放该类别中,Airplay的正常工作与我的输出(但显然输入不工作)。
我试图重写对扬声器的输出路径,在情况下,它需要一个过度的Airplay输出,但没有喜悦。
有任何想法吗?
我的应用程序使用麦克风和音频输出,所以我设置我的音频会话的播放和录音范畴,但这似乎禁用的Airplay。 如果我设定播放该类别中,Airplay的正常工作与我的输出(但显然输入不工作)。
我试图重写对扬声器的输出路径,在情况下,它需要一个过度的Airplay输出,但没有喜悦。
有任何想法吗?
什么AirPlay的设备是你想使用? 它有一个麦克风?
如果没有,使用PlayAndRecord类别时,因为该设备无法播放和录制的iOS不会出现它作为一个选项。 使用播放类别,虽然什么时候会出现。
另外,如果你正在使用的设备是蓝牙设备,是否设置AVAudioSessionCategoryOptionAllowBluetooth为YES?
如果您想要更改音频是怎么回事,你需要调用AudioSessionSetProperty,并通过它,你想要的声音去不断的指定。 这些常量
kAudioSessionOverrideAudioRoute_None,指定您希望的音频被路由到接收方(单曲,如果这就是它是怎么回事),或
kAudioSessionOverrideAudioRoute_Speaker,它指定音频应在手机的底部被路由到扬声器。
你可以试试这个代码
// Set AVAudioSession
NSError *sessionError = nil;
[[AVAudioSession sharedInstance] setDelegate:self];
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError];
// Change the default output audio route
UInt32 doChangeDefaultRoute = 1;
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
sizeof(doChangeDefaultRoute), &doChangeDefaultRoute);
从音频会话编程指南>使用类别> 选择类别和模式AirPlay播放 :
只有特定类别和模式支持AirPlay的。 以下类别支持的Airplay的镜像和非镜像版本:
AVAudioSessionCategorySoloAmbient
AVAudioSessionCategoryAmbient
AVAudioSessionCategoryPlayback
该AVAudioSessionCategoryPlayAndRecord
类别只支持镜像的Airplay。