androidを使用して、ファイルから電話のイヤピース(または接続されているヘッドセット)にオーディオを再生したいのですがMediaPlayer
。このスレッドで提案されているように、MODE_IN_CALLハックを使用してみました-Android-イヤピースを介してオーディオを再生しまし たが、それは役に立ちませんでした。このアプリにはandroid.permission.MODIFY_AUDIO_SETTINGS権限もありますが、への呼び出しm_amAudioManager.setSpeakerphoneOn(false);
はすべて無視されます。
private AudioManager m_amAudioManager;
m_amAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(false);
の呼び出しも役に立ちませんでしたsetMode(AudioManager.STREAM_VOICE_CALL);
。MediaPlayer
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
mediaPlayer.setDataSource(path);
mediaPlayer.prepare();
このコードを壊すためにAndroid2.3から何か変更がありましたか?Android ICSでコードを試しましたが、成功しませんでした。誰かが私を正しい方向に向けることができますか?これまでのところ、オーディオは常にスピーカーフォンから再生されます。