获取系统铃声列表:
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));
}
}
假如想获取对应铃声的名字
String name = listRingTone.get(x).getTitle(MainActivity.this);
还有其他属性获取请自己查看
播放选择的铃声:
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();
}
停止播放:
if(listRingTone.get(x).isPlaying()){
listRingTone.get(x).stop();
}
系统铃声基本操作就这样。