Android在普通扬声器和耳机之间切换

时间:2016-02-15 15:11:56

标签: android

我正在尝试通过默认扬声器或小扬声器(在通话期间使用)播放音频文件。 现在我正在尝试使用接近传感器在这两个选项之间进行选择。 这是我的代码:

am = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.STREAM_MUSIC);
m=MediaPlayer.create(getApplicationContext(), R.raw.a_meno_che_non);
m.setAudioStreamType(AudioManager.STREAM_MUSIC);
am.setSpeakerphoneOn(true);




SensorEventListener proximitySensorEventListener = new SensorEventListener(){
    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {

    }
    @Override
    public void onSensorChanged(SensorEvent event) {
        if(event.sensor.getType()==Sensor.TYPE_PROXIMITY){

            if((int)(event.values[0])==myProximitySensor.getMaximumRange()){


                am.setSpeakerphoneOn(true);



            }

            else {


                am.setSpeakerphoneOn(false);


            }



        }

    }

};

这种方法很有效,但不是很好,因为在扬声器之间切换时会丢失一部分音频(大约2秒钟)。

我该如何解决这个问题?

0 个答案:

没有答案