Unable to create media player when playing sound using uri from RingtoneManager.getDefaultUri (RingtoneManager.TYPE_ALARM) in android

I am trying to play the default beep in android using the following code -

private void startAlarm() {
        Uri alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_ALARM);
        if (alert == null) {
            alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
            if (alert == null) {
                alert = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE);
            }
        }
        MediaPlayer mMediaPlayer = new MediaPlayer();
        try {
            mMediaPlayer.setDataSource(getActivity().getApplicationContext(), alert);
            AudioManager audioManager = (AudioManager) getActivity().getSystemService(Context.AUDIO_SERVICE);
            int volumen = audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
            if (volumen != 0) {
                mMediaPlayer.setAudioStreamType(AudioManager.STREAM_ALARM);
                mMediaPlayer.setLooping(true);
                mMediaPlayer.prepare();
                mMediaPlayer.start();
            }
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

But that throws the following exception -

08-01 10:59:10.478: E/MediaPlayer(4529): Unable to to create media player
08-01 10:59:16.158: W/System.err(4529): java.io.IOException: setDataSource failed.: status=0x80000000
08-01 10:59:16.166: W/System.err(4529):     at android.media.MediaPlayer.setDataSource(Native Method)
08-01 10:59:16.174: W/System.err(4529):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:745)
08-01 10:59:16.174: W/System.err(4529):     at android.media.MediaPlayer.setDataSource(MediaPlayer.java:675)

I debugged Uri warning code and value

content://settings/system/alarm_alert

I can’t understand why he cannot create a media player and throw this exception? Can someone indicate where the problem is.

Thanks in advance

+5
source share

All Articles