如何从系统声音中获取铃声
How to get Ringtone from system sounds
我正在使用 AlarmManager
在我的 android 应用程序中显示警报,我想显示来自系统可用声音的声音作为警报,但我唯一的选择是已设置的声音如铃声、闹钟、通知:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); // OR TYPE_RINGTONE OR TYPE_NOTIFICATION
Ringtone r = RingtoneManager.getRingtone(mContext, alert);
但我想获取所有系统可用的音调并从中选择一个。
这对我有用:
Uri ringtone= RingtoneManager.getActualDefaultRingtoneUri(YourActivity.this, RingtoneManager.TYPE_ALARM);
并且如 this answer 所述,您必须执行以下操作:
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtone);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, ringtone);
startActivityForResult(intent , 1);
最后你得到选定的音调“uri”,你可以将其存储在 ringtone
中,如下所示在 onActivityResult 中()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 1:
ringtone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
break;
default:
break;
}
}
}
我正在使用 AlarmManager
在我的 android 应用程序中显示警报,我想显示来自系统可用声音的声音作为警报,但我唯一的选择是已设置的声音如铃声、闹钟、通知:
Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM); // OR TYPE_RINGTONE OR TYPE_NOTIFICATION
Ringtone r = RingtoneManager.getRingtone(mContext, alert);
但我想获取所有系统可用的音调并从中选择一个。
这对我有用:
Uri ringtone= RingtoneManager.getActualDefaultRingtoneUri(YourActivity.this, RingtoneManager.TYPE_ALARM);
并且如 this answer 所述,您必须执行以下操作:
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtone);
intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, ringtone);
startActivityForResult(intent , 1);
最后你得到选定的音调“uri”,你可以将其存储在 ringtone
中,如下所示在 onActivityResult 中()
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == RESULT_OK) {
switch (requestCode) {
case 1:
ringtone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);
break;
default:
break;
}
}
}