3

我正在开发一个应用程序,我只需要使用耳机播放声音文件,没有扬声器,没有听筒天气耳机是否插入,开关按钮的打开或关闭状态。我为此编写了下面的代码。

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();

但是当我拔下耳机时,它仍然会通过扬声器播放音频。

请指导我实现这一目标。

4

1 回答 1

0

好的,我已在此链接的帮助下解决了此问题

以下是我的工作代码: -

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);*/
            }
于 2015-08-27T10:36:01.047 回答