2013-08-30 3 views
0

Android 앱을 제작 중입니다. 내/res/raw 폴더에 wav 파일이 있으면 그냥 재생하고 싶습니다. f.exists()가 항상 false로 평가되기 때문에 다음 코드가 작동하지 않습니다.안드로이드가 내 res/raw 폴더에서 wav 파일을 재생할 수 없습니다.

String filePathString = "android.resource://"+_context.getPackageName()+"/res/raw/oldphone_mono.wav"; 
    File f = new File(filePathString); 

    java.io.InputStream inputStream = _context.getResources().openRawResource(com.hello20.R.raw.oldphone_mono); 


    if(f.exists()) { 

     Uri ringUri = Uri.parse(filePathString); 

     _ring = new MediaPlayer(); 
     _ring.setDataSource(_context, ringUri); 

     final AudioManager audioManager = (AudioManager) _context.getSystemService(Context.AUDIO_SERVICE); 
     if (audioManager.getStreamVolume(AudioManager.STREAM_RING) != 0) { 
      _ring.setAudioStreamType(AudioManager.STREAM_RING); 
      _ring.setLooping(true); 
      _ring.prepare(); 
      _ring.start(); 
     } 

이 작업을 수행하려면 어떻게해야합니까?

답변

1

다른 방법으로 WAV를로드하려고 :

_ring=MediaPlayer.create(_context,R.raw.oldphone_mono); 
_ring.start(); 
_ring.setLooping(true); 

코멘트 1

당신은 _ring.prepare();를 사용하는 내 경우에는 필요하지 않습니다. MediaPlayer.create는 원료에서 WAV 자원을로드하기 때문에, 당신은 if(f.exists()) statemant 필요하지 않습니다, 2

또한 약

코멘트를 걱정한다

+0

완벽한 그쪽으로 tworked – John

관련 문제