Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/187.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中强制声音文件仅使用耳机播放_Android_Audio_Headphones - Fatal编程技术网

如何在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时用耳机播放。