正文  多媒体 > 音频/Audio >

android 播放来电铃声的代码 不需要附加权限;省略了异常处理

android中如何用mediaplayer播放自己设置的来电铃呢?最近做一个android小应用的时候需要用到这个。上网查了一下,可以用mediaplayer播放自己的闹钟和来电铃声。十分感谢这万能的网络,这里也和大家分享一下。 ......

 

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

即可。


不需要附加权限;省略了异常处理:

1. [代码][Java]代码    
MediaPlayer mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(context, RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE));
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_RING);
mMediaPlayer.setLooping(true); 
mMediaPlayer.prepare();
mMediaPlayer.start();
//...
mMediaPlayer.stop();