Java 如何从R.raw设置声音铃声管理器

Java 如何从R.raw设置声音铃声管理器,java,android,android-mediaplayer,Java,Android,Android Mediaplayer,如何从R.raw设置声音铃声管理器 我想设置我的声音,但我不知道如何设置 Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); MediaPlayer mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(context, defaul

如何从R.raw设置声音铃声管理器

我想设置我的声音,但我不知道如何设置

Uri defaultRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);

        MediaPlayer mediaPlayer = new MediaPlayer();

        try {
            mediaPlayer.setDataSource(context, defaultRingtoneUri);
            mediaPlayer.setAudioStreamType(AudioManager.STREAM_NOTIFICATION);
            mediaPlayer.prepare();
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer mp)
                {
                    mp.release();
                }
            });
            mediaPlayer.start();
        } catch (IllegalArgumentException e) {
            e.printStackTrace();
        } catch (SecurityException e) {
            e.printStackTrace();
        } catch (IllegalStateException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

谢谢你的帮助!抱歉,我的英语不好

如果您想将原始资源加载到MediaPlayer,请尝试以下操作:

mediaPlayer = MediaPlayer.create(context, R.raw.example);
我希望它能帮助你。确保文件名为小写

请注意,文件名不包含任何扩展名。不要写任何扩展名,只写文件名。 例如,对于ringtone.mp3-写入:

.getIndentifier("ringtone","raw",getPackageName());
您甚至可以通过
InputStream
输入它

InputStream ins = getResources().openRawResource(getResources().getIdentifier("fileName","raw", getPackageName()));
试试这个
InputStream ins = getResources().openRawResource(getResources().getIdentifier("fileName","raw", getPackageName()));