最近项目里用到系统铃声的,写完就分享给大家。
1.获取系统铃声:
public ArrayList<Ringtone> listRingTone = new ArrayList<>();
void init(){
RingtoneManager ringtoneManager= new RingtoneManager(this); // 铃声管理器
Cursor cursor = ringtoneManager.getCursor(); //获取铃声表,根据表名取值
int count = cursor.getCount(); //获取铃声列表数量
for(int i = 0 ; i < count ; i ++){
listRingTone.add(ringtoneManager.getRingtone(i));
}
}
2.播放选中的铃声
listRingTone.get(x).setLooping(true);//是否循环播放,默认值为true,API28或以上才能操作
listRingTone.get(x).setVolume(1.0f);//设置音量大小,值范围0~1,API28或以上才能操作
if(!listRingTone.get(x).isPlaying()){//不在播放状态
listRingTone.get(x).play();
}
3.停止播放
if(listRingTone.get(x).isPlaying()){
listRingTone.get(x).stop();
}
API28以下的没有停止播放,可以自己写一个自动不放三秒然后停止
if (!ringtone.isPlaying()) {//不在播放状态
ringtone.play();
}
new Thread() {
@Override
public void run() {
super.run();
try {
Thread.sleep(3000);//休眠3秒
} catch (InterruptedException e) {
e.printStackTrace();
}
if(ringtone.isPlaying()){
ringtone.stop();
}
}
}.start();
最后
以上就是朴实水杯最近收集整理的关于Android获取系统铃声与播放的全部内容,更多相关Android获取系统铃声与播放内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复