如何在android中强制声音文件仅使用耳机播放
我正在开发一个应用程序,我只需要用耳机播放声音文件,不需要扬声器,不需要耳机,不管耳机是否插好,打开或关闭按钮的状态。我已经为此编写了以下代码如何在android中强制声音文件仅使用耳机播放,android,audio,headphones,Android,Audio,Headphones,我正在开发一个应用程序,我只需要用耳机播放声音文件,不需要扬声器,不需要耳机,不管耳机是否插好,打开或关闭按钮的状态。我已经为此编写了以下代码 audioManager.setMode(AudioManager.STREAM_MUSIC); if(mPrefs.getBoolean("flow_recording", false)){ audioManager.setWiredHeadsetOn(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();
但当我拔下耳机时,它仍然会用扬声器播放音频
请引导我实现这一目标 好的,我已经在这台计算机的帮助下解决了这个问题 以下是我的工作代码:-
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);*/
}
你在播放完音频后插上耳机了吗?不,我在有耳机和没有耳机的情况下播放。在这两种情况下,它都在播放,但我只希望它使用耳机播放。您应该检查耳机是否已插入。如果已插入耳机,则播放声音。看这里,这意味着如果没有连接耳机,你就不想播放它?@MurtazaKhursheedHussain是的,我只想在mPrefs.getBoolean(“flow_recording”,false)条件为true时用耳机播放。