我需要知道是否可以从 android 内置的铃声文件中播放特定的音频文件。例如,假设 Tone_23 在 android 铃声列表中,现在我需要在单击按钮时播放这个特定的音调。我在谷歌搜索我得到了如何调用/显示 RingtonePicker Activity 的指导(将显示整个铃声列表)。如果这可能意味着,请分享您的想法。提前致谢。
最佳答案
你可以尝试这样的事情:
/**
* Play ring tone.
*
* @param ringToneTitle the ring tone title
*/
void playRingTone(String ringToneTitle) {
RingtoneManager ringtoneManager = new RingtoneManager(
getApplicationContext());
ringtoneManager.setType(RingtoneManager.TYPE_RINGTONE);
int length = ringtoneManager.getCursor().getCount();
for (int i = 0; i < length; i++) {
Ringtone mRingtone = ringtoneManager.getRingtone(i);
if (mRingtone != null) {
Log.d("ringtoneTitle ", mRingtone.getTitle(getApplicationContext()));
if(ringToneTitle.equalsIgnoreCase(mRingtone
.getTitle(getApplicationContext())) {
mRingtone.play();
}
}
}
}
希望这对您有所帮助。
补充:也看看这个类RingtoneManager
RingtoneManager 提供对铃声、通知和其他类型声音的访问。它管理查询不同的媒体提供者并将结果组合到一个游标中。它还为每个铃声提供铃声。我们通常将这些声音称为铃声,但 TYPE_RINGTONE 指的是适合电话铃声的声音类型。
关于android - 如何从 Android 内置铃声列表中播放特定的音频文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12588444/