为什么在设置为媒体播放器的数据源时,RingtoneManager 返回的铃声 uri 失败
Why the ringtone uri returned by RingtoneManager fails when being set as data source for a Media Player
我正在尝试为 Anndroid Media Player 设置数据源。我正在使用以下代码。
Uri alarmUri = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
// alarm_uri = null
if (alarmUri == null) {
alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
// alarm_uri = "content://settings/system/notification_sound"
}
alarmMediaPlayer = new MediaPlayer();
alarmMediaPlayer.setDataSource(this, alarmUri);
设置数据源时,抛出以下错误:
"setDataSource failed.: status=0x80000000"
当我在另一个 phone 上测试相同的代码时,我得到 alarm_uri 的值 "content://media/internal/audio/media/44"。我觉得造成问题的 phone 有问题。
谁能告诉我可能是什么问题?
RingtoneManager.TYPE_NOTIFICATION
和 RingtoneManager.TYPE_ALARM
都返回无效值作为 URI,因为警报和通知在设备中设置为 none。一旦设置为特定值,它就会开始返回有意义的值。
我正在尝试为 Anndroid Media Player 设置数据源。我正在使用以下代码。
Uri alarmUri = RingtoneManager.getActualDefaultRingtoneUri(this, RingtoneManager.TYPE_ALARM);
// alarm_uri = null
if (alarmUri == null) {
alarmUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
// alarm_uri = "content://settings/system/notification_sound"
}
alarmMediaPlayer = new MediaPlayer();
alarmMediaPlayer.setDataSource(this, alarmUri);
设置数据源时,抛出以下错误:
"setDataSource failed.: status=0x80000000"
当我在另一个 phone 上测试相同的代码时,我得到 alarm_uri 的值 "content://media/internal/audio/media/44"。我觉得造成问题的 phone 有问题。
谁能告诉我可能是什么问题?
RingtoneManager.TYPE_NOTIFICATION
和 RingtoneManager.TYPE_ALARM
都返回无效值作为 URI,因为警报和通知在设备中设置为 none。一旦设置为特定值,它就会开始返回有意义的值。