Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AVAudioSessionManager availableInputs "Unknown selected data source for port iPhone Microphone"

Tags:

I've noticed this error in my console log for a while. Though it does not affect the execution of my application, I find it really annoying. Thus, I started to trace where this error came from. It turns out when I call availableInputs

NSArray *inputs = [[AVAudioSession sharedInstance] availableInputs]; 

It will give me the log message:

ERROR:     [0x3d61318c] AVAudioSessionPortImpl.mm:50: ValidateRequiredFields: Unknown selected data source for Port iPhone Microphone (type: MicrophoneBuiltIn) 

I tried to print out the inputs..

Printing description of inputs: <__NSArrayI 0x188c4610>( <AVAudioSessionPortDescription: 0x188c4580, type = MicrophoneBuiltIn; name = iPhone Microphone; UID = Built-In Microphone; selectedDataSource = (null)>, <AVAudioSessionPortDescription: 0x18835d90, type = BluetoothHFP; name = Valore-BTi22; UID = 00:23:01:10:38:77-tsco; selectedDataSource = (null)> 

So selectedDataSource is (null). I don't know what should I do to make it not null? iPhone Microphone is a built-in input... I suppose it's set by Apple already?

like image 336
xialin Avatar asked Jan 14 '14 14:01

xialin


1 Answers

This problem seems not just happen to me... I will just share my understanding here..

My situation is.. I'm using pjsip library, which has a lower level control of audio resources. I've noticed that, the sound device has been closed before I call [[AVAudioSession sharedInstance] availableInputs];

Thus, (I guess) AVAudioSession, as a higher level control, couldn't find corresponding audio data source for its input - as the error indicated...

To further investigate the problem, you'd better check somewhere in your code that modify the audio source.. and make sure the audio source is activated before you call AVAudioSession

I can only go this far for now... Deeper understanding and better explanation of audio control is always appreciated!!

like image 75
xialin Avatar answered Oct 11 '22 14:10

xialin