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. 이 코드를 적용하면 Android 스튜디오에서 미디어를 세밀하게 재생합니다.

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

어떻게 파일을 Uri.parse 함수에서 찾을 수 있습니까?

답변

0

변경 다음은 잘 작동합니다

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

희망이 라인

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

. 감사.

+0

대단히 감사합니다. 너는 내 일을 구했다. 간단한 편집 : getPackageName 뒤에 add(). –

+0

당신은 오신 것을 환영합니다. –

+0

জুয়েল রানা ভাই, زغلىি রাজশাহীর লোক দেখলাম. 더 많은 정보가 필요합니다. 더 많은 정보가 필요합니다. 추가 정보 더 많은 정보가 필요하십니까? ইমেইল বা ফেসবুক เইডি দিবেন 추가? –