【发布时间】:2010-05-26 22:08:59
【问题描述】:
Android 中是否有办法通过手机扬声器强制输出,即使耳机已插入插孔?我知道必须有一种方法,因为当您在打电话时,您可以将某人放在免提电话上,即使插孔中插入了耳机。
【问题讨论】:
Android 中是否有办法通过手机扬声器强制输出,即使耳机已插入插孔?我知道必须有一种方法,因为当您在打电话时,您可以将某人放在免提电话上,即使插孔中插入了耳机。
【问题讨论】:
您可以使用AudioManager.setSpeakerphoneOn 方法在系统范围内更改此设置。
我不相信您可以为特定的 MediaPlayer/AudioTrack/SoundPool 实例设置此设置,但根据您的用例,您可能实际上希望设置您的使用MediaPlayer.setAudioStreamType 或其他音频播放类的等效项的音频流类型。
【讨论】:
通过扬声器输出声音
AudioManager m_amAudioManager =
AudioManager)getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_NORMAL);
m_amAudioManager.setSpeakerphoneOn(true);
【讨论】:
这对我有用
首先,我在 Manifest.xml 中添加了权限
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
然后,我使用了这段代码
AudioManager m_amAudioManager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
m_amAudioManager.setMode(AudioManager.MODE_RINGTONE | AudioManager.MODE_IN_CALL);
m_amAudioManager.setSpeakerphoneOn(true);
【讨论】: