我正在android studio上创建一个应用程序。在此应用程序中,我需要允许用户从设置中的手机铃声中选择铃声。它正常工作,但是之后我必须能够播放此铃声,而我却无法播放!
我在互联网上尝试了一些有关Ringtone和MediaPlayer的代码,但是手机没有声音。 除了一次不是先前选择的铃声的通知声音(我不记得哪个代码)。 我指定我需要声音是铃声(例如电话)或警报,而不是通知!
这是我的XML代码,用于在我的PreferencesScreen中选择铃声:
<RingtonePreference
android:icon="@drawable/round_phonelink_ring_24"
android:defaultValue="content://settings/system/notification_sound"
android:fontFamily="@font/roboto_regular"
android:dependency="notifications_new_message"
android:key="@string/ringtone_notification_key"
android:ringtoneType="alarm"
android:title="@string/pref_title_ringtone" />
这是我尝试失败的代码之一:
SharedPreferences getAlarms = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
String alarms = getAlarms.getString(getString(R.string.ringtone_notification_key), "default ringtone");
Uri uri = Uri.parse(alarms);
Ringtone r = RingtoneManager.getRingtone(this, uri);
r.play();
当前,当我尝试发出警报时,我的振动器可以与振动器一起很好地启动(与振铃器无关,但可能与之相关)。但是,即使我在设置中记录了警报,也没有声音。 我希望我能弹奏那著名的铃声。
有人有什么想法吗?