android 如何强制声音文件只用耳机播放
How to force sound file to play only with headphones in android
我正在开发一个应用程序,我需要只用耳机播放声音文件,没有扬声器,没有耳机天气耳机是否插入,开关按钮的打开或关闭状态。我为此编写了以下代码。
audioManager.setMode(AudioManager.STREAM_MUSIC);
if(mPrefs.getBoolean("flow_recording", false)){
audioManager.setWiredHeadsetOn(true);
audioManager.setSpeakerphoneOn(false);
}
else{
audioManager.setWiredHeadsetOn(false);
audioManager.setSpeakerphoneOn(true);
}
mPlayer.start();
但当我拔下耳机时它仍然通过扬声器播放音频。
请指导我实现这一目标。
好的,我已经在 link
的帮助下解决了这个问题
下面是我的工作代码:-
audioManager.setMode(AudioManager.STREAM_MUSIC);
if(mPrefs.getBoolean("flow_recording", false)){
/*audioManager.setWiredHeadsetOn(true);
audioManager.setSpeakerphoneOn(false);*/
if(audioManager.isWiredHeadsetOn() && mPlayer != null){
Log.e("HeadPhone", "Playing via headphone");
mPlayer.start();
}
}
else{
if(audioManager.isSpeakerphoneOn() && mPlayer != null){
Log.e("Speaker", "Playing via speaker");
mPlayer.start();
}
/*audioManager.setWiredHeadsetOn(false);
audioManager.setSpeakerphoneOn(true);*/
}
我正在开发一个应用程序,我需要只用耳机播放声音文件,没有扬声器,没有耳机天气耳机是否插入,开关按钮的打开或关闭状态。我为此编写了以下代码。
audioManager.setMode(AudioManager.STREAM_MUSIC);
if(mPrefs.getBoolean("flow_recording", false)){
audioManager.setWiredHeadsetOn(true);
audioManager.setSpeakerphoneOn(false);
}
else{
audioManager.setWiredHeadsetOn(false);
audioManager.setSpeakerphoneOn(true);
}
mPlayer.start();
但当我拔下耳机时它仍然通过扬声器播放音频。
请指导我实现这一目标。
好的,我已经在 link
的帮助下解决了这个问题下面是我的工作代码:-
audioManager.setMode(AudioManager.STREAM_MUSIC);
if(mPrefs.getBoolean("flow_recording", false)){
/*audioManager.setWiredHeadsetOn(true);
audioManager.setSpeakerphoneOn(false);*/
if(audioManager.isWiredHeadsetOn() && mPlayer != null){
Log.e("HeadPhone", "Playing via headphone");
mPlayer.start();
}
}
else{
if(audioManager.isSpeakerphoneOn() && mPlayer != null){
Log.e("Speaker", "Playing via speaker");
mPlayer.start();
}
/*audioManager.setWiredHeadsetOn(false);
audioManager.setSpeakerphoneOn(true);*/
}