不兼容的指针类型将“NSString”发送到'AVAudioSessionPortDescription *类型的参数

时间:2015-02-06 19:33:17

标签: ios iphone xcode avaudiosession

尝试仅为我的应用程序使用内置的iPhone MIC。

- (BOOL)setPreferredInput:(AVAudioSessionPortDescription *)inPort error:(NSError **)outError NS_AVAILABLE_IOS(7_0);
{
 NSError* audioError = nil;
AVAudioSession* myAudioSession = [AVAudioSession sharedInstance];
[myAudioSession setPreferredInput:AVAudioSessionPortBuiltInMic error:&audioError];    

1 个答案:

答案 0 :(得分:1)

AVAudioSessionPortBuiltInMicNSString,而不是AVAudioSessionPortDescription。要获取设备上可用端口的描述符,请使用[AVAudioSession availableInputs]

for (AVAudioSessionPortDescription *input in [AVAudioSession availableInputs]) {
  if ([[input portType] isEqualToString:AVAudioSessionPortBuiltInMic]) {
    NSError *error = nil;
    [AVAudioSession setPreferredInput:input error:&error];
  }
}