Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MediaPlayer:如何在STREAM_ALARM中播放_Java_Android_Android Mediaplayer_Android Securityexception - Fatal编程技术网

Java MediaPlayer:如何在STREAM_ALARM中播放

Java MediaPlayer:如何在STREAM_ALARM中播放,java,android,android-mediaplayer,android-securityexception,Java,Android,Android Mediaplayer,Android Securityexception,我是android开发的初学者。我需要播放原始文件中的媒体作为闹钟的流式闹钟。我在这里发现了一个类似的问题: 被接受的答案是这样的: MediaPlayer mp = new MediaPlayer(); mp.setAudioStreamType(AudioManager.STREAM_ALARM); mp.setDataSource(this,Uri.parse("android.resource://PACKAGE_NAME/"+R.raw.soundfile)); mp.prepare

我是android开发的初学者。我需要播放原始文件中的媒体作为闹钟的流式闹钟。我在这里发现了一个类似的问题:

被接受的答案是这样的:

MediaPlayer mp = new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
mp.setDataSource(this,Uri.parse("android.resource://PACKAGE_NAME/"+R.raw.soundfile));
mp.prepare();
mp.start();
我的项目的第一行是这样的:

package buet.mushfiq.classfriendsupport;
因此,我使用buet.mushfiq.classfriendsupport作为我的项目名称,并以这种方式实现代码:

Uri uri = Uri.parse("android.resource://buet.mushfiq.classfriendsupport/"+R.raw.mytone);
MediaPlayer mp=new MediaPlayer();
mp.setAudioStreamType(AudioManager.STREAM_ALARM);
try{
    mp.setDataSource(this,uri);
    mp.prepare();
    mp.start();}
catch (Exception e){
    }
但不幸的是,没有音频播放,android studio显示此错误:

setDataSource IOException | SecurityException happend: 
java.io.FileNotFoundException: No package found for authority: 
android.resource://buet.mushfiq.classfriendsupport/2131099648
mytone.mp3肯定存在于原始文件夹中。实际位置:app/src/main/res/raw。当我应用以下代码时,Android studio可以很好地播放媒体:

mp = MediaPlayer.create(this, R.raw.mytone);
mp.start();
那么如何在Uri.parse函数中找到我的文件呢?

更改这一行

  Uri uri = Uri.parse("android.resource://buet.mushfiq.classfriendsupport/"+R.raw.mytone);

希望到时候它能正常工作。谢谢。

更改此行

  Uri uri = Uri.parse("android.resource://buet.mushfiq.classfriendsupport/"+R.raw.mytone);


希望到时候它能正常工作。谢谢。

非常感谢。你救了我的命。简单编辑:在getPackageName之后添加()。非常感谢。你救了我的命。简单编辑:在getPackageName之后添加()。