Android中铃声的使用

我之前也写过利用MediaPlayer播放音频,如果我们在应用中播放音乐,自然是不成问题。但是,如果我们是要播放一个简短的音效,那就有点不合适了。所以这里我们讲解一些Android中铃声的播放。

1.MediaPlayer的不足

  • MediaPlayer的初始化比较消耗资源,尤其是播放短小铃音时反应偏慢。
  • 一个MediaPlayer同时只能播放一个媒体文件,无法同时播放多个声音。
  • MediaPlayer只能播放已经完成编码的音频文件,无法直接播放原始音频,也不能流式播放(即边录边播)。

2.对于第一个问题,Android提供了铃音播放工具Ringtone。

3.三种铃音来源

<1>系统自带的铃音,其Uri的获取方式举例如下:

RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE)

铃声管理器支持的铃声类型包括如下几种

  • TYPE_RINGTONE:来电铃声
  • TYPE_NOTIFICATION:通知铃声
  • TYPE_ALARM:闹钟铃声 

<2>内部存储与SD卡上的铃音文件,其Uri的获取方式举例如下:

Uri.parse("file:///system/media/audio/ui/camera_click.ogg")//相机快门音

<3>App工程中res/raw目录下的铃声文件,其Uri的获取方式举例如下:

Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.ring);//从资源文件中获取铃音

4.铃声对象Ringtone的主要方法

  • play:开始播放铃声。
  • stop:停止播放铃声。
  • isPlaying:判断铃声是否正在播放。

5.代码示例

mRingtone = RingtoneManager.getRingtone(this,RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));
mRingtone.play();

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值