2

私はアンドロイド開発で初心者です。私は目覚まし時計のためにSTREAM_ALARMとして生のファイルからメディアを再生する必要があります。私はここに同様の質問を見つけました: Android MediaPlayer - how to play in the STREAM_ALARM?MediaPlayer:STREAM_ALARMで再生する方法

を受け入れ答えは、そのリンク上でそのようなものだった:

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){ 
    } 

しかし残念ながらノーオーディオ演劇やアンドロイドスタジオは、このエラーを示しています

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。

mp = MediaPlayer.create(this, R.raw.mytone); 
mp.start(); 

それでは、どのように私はUri.parse機能で自分のファイルを見つけることができますAndroidのスタジオでは、私はこのコードを適用すると、メディアが細かく果たしていますか?それが正常に動作します

答えて

0

変更このライン

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

Uri uri = Uri.parse("android.resource://"+this.getPackageName()+"/"+R.raw.mytone); 

したいと考えています。ありがとう。

+0

ありがとうございました。あなたは私の仕事を救った。簡単な編集:getPackageNameの後のadd()。 –

+0

あなたは大歓迎です。 –

+0

他にもありますか?追加情報はありませんওরাাাাা、、、、、、、、、、、、、、、、、驚くほど迫っている。追加情報সাথেব্যক্তিগতভাবেযোগাযোগকরintেচাই、دلىجلمجانيمجاني ইমেইলবাফেসবুকさらなる追加 –

関連する問題