private boolean playFlag = false;
private MediaPlayer mplayer = null;
private MediaPlayer ring() throws Exception, IOException {
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
MediaPlayer player = new MediaPlayer();
player.setDataSource(this, alert);
final AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
if (audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION) != 0) {
player.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
}
return player;
}
public void onClickTest(View v) {
Button btn = (Button) v;
if (playFlag) {
mplayer.stop();
btn.setText("暂停中");
} else {
mplayer.setLooping(true);
try {
mplayer.prepare();
} catch (IllegalStateException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
mplayer.start();
btn.setText("播放中");
}
playFlag = !playFlag;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button b = (Button) findViewById(R.id.button1);
b.setText("暂停中");
try {
mplayer = ring();
} catch (IOException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
} catch (Exception e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}