android播放铃声代码,android 播放来电铃声

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

即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
安卓应用程序中,你可以通过以下步骤更改来电铃声: 1. 在你的应用程序中,创建一个选择铃声的界面,例如一个列表或网格视图,显示可用的铃声。 2. 通过使用MediaStore类中的查询方法,从系统中获取可用的铃声列表。 3. 对列表进行适当的处理和呈现,以便用户可以选择他们喜欢的铃声。你可能需要使用一个适配器类来显示列表中的铃声。 4. 当用户选择铃声时,调用RingtoneManager类中的setActualDefaultRingtoneUri()方法,将所选铃声的URI设置为来电铃声的默认值。 5. 如果用户想要设置来电铃声为自定义铃声,则需要使用Android的权限系统来授予应用程序访问存储权限,以便在用户设备上读取铃声文件。 下面是一个简单的代码流程示例,用于从系统中获取可用的铃声列表,并将所选铃声设置为来电铃声: ```java // 获取铃声的URI列表 Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; String[] projection = { MediaStore.Audio.Media._ID, MediaStore.Audio.Media.DISPLAY_NAME }; String selection = MediaStore.Audio.Media.IS_RINGTONE + "!= 0"; Cursor cursor = getContentResolver().query(uri, projection, selection, null, null); // 处理铃声列表 ArrayList<String> ringtoneList = new ArrayList<String>(); while (cursor.moveToNext()) { String ringtoneName = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.DISPLAY_NAME)); ringtoneList.add(ringtoneName); } // 显示铃声列表,让用户选择一个铃声 // ... // 设置所选铃声来电铃声 Uri selectedRingtoneUri = Uri.parse("content://media/external/audio/media/" + ringtoneId); RingtoneManager.setActualDefaultRingtoneUri(context, RingtoneManager.TYPE_RINGTONE, selectedRingtoneUri); ``` 请注意,上述示例仅涵盖了从系统中获取铃声列表和设置所选铃声来电铃声的基本步骤。在实际应用中,你需要考虑到更多的细节和异常情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值