android中如何用mediaplayer播放自己设置的来电铃呢?
最近做一个android小应用的时候需要用到这个。上网查了一下,可以用mediaplayer播放自己的闹钟和来电铃声。十分感谢这万能的网络,这里也和大家分享一下。
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
MediaPlayer mMediaPlayer = new MediaPlayer();
try {
mMediaPlayer.setDataSource(this, alert); //后面的是try 和catch ,自动添加的
} catch (IllegalArgumentException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SecurityException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalStateException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
mMediaPlayer.setLooping(true); //循环播放开
try {
mMediaPlayer.prepare(); //后面的是try 和catch ,自动添加的
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mMediaPlayer.start();//开始播放
}
其实真正关键的就是这几行代码:
MediaPlayer mMediaPlayer = new MediaPlayer();
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
mMediaPlayer.setDataSource(this, alert);
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
若要播放闹钟铃声,将RingtoneManager.TYPE_RINGTONE改为RingtoneManager.TYPE_ALARM
将AudioManager.STREAM_RING改为AudioManager.STREAM_ALARM
即可。