工厂测试之听筒和扬声器测试

今天驱动工程师要我写一段代码验证听筒功能是否正常,我一开始把听筒播放设置为AudioManager.MODE_IN_CALL,发现声音是从speaker出来的而不是receiver出来的,通过查阅源码发现听筒播放模式应更改AudioManager.MODE_IN_COMMUNICATION。

AudioManager am;
MediaPlayer myPlayer;
myPlayer = MediaPlayer.create(MainActivity.this, R.raw.prestigio1);
if(myPlayer.isPlaying()==true)
 {
     myPlayer.reset();
 }
 myPlayer.setLooping(true);
if (!speakerphoneOn){//听筒
            am.setSpeakerphoneOn(false);
            am.setMode(AudioManager.MODE_IN_COMMUNICATION);
            myPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL);
        }else {//扬声器
            am.setMode(AudioManager.MODE_NORMAL);
            am.setSpeakerphoneOn(true);
            myPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
}
myPlayer.start();

你可能感兴趣的:(Android系统开发)