2013-07-12 5 views
3

이미 내 디렉토리에 .wav 파일이 있습니다. 동시에 나는 mp3 파일과 함께 그것을 재생해야합니다. 내가 사용 ,Android, 프로그래밍 방식으로 WAV 파일을 재생하는 방법

String recordedFile = "/storage/sdcard0/PINOYKARAOKE/1373597371359.wav"; 

MediaPlayer recordedSong = new MediaPlayer(); 
try{ 
recordedSong = MediaPlayer.create(ctx, Uri.fromFile(recordedFile)); 
recordedSong.prepare(); 
recordedSong.start(); 
} 
catch(Exception e){ 
} 

오류 : 작성에 실패하며 IOException이 원시 폴더를 만들고 거기에 파일을 넣어

답변

6

시도를 던져,이

public void number(int num, Context ctx) { 
       AssetManager am; 
     try { 
      am = ctx.getAssets(); 
      AssetFileDescriptor afd = am.openFd("android.resource://"+getPackageName+"/"+R.raw.your_file_name); 
      player = new MediaPlayer(); 
      player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), 
        afd.getLength()); 
      player.prepare(); 
      player.start(); 
      player.setOnCompletionListener(new OnCompletionListener() { 

       @Override 
       public void onCompletion(MediaPlayer mp) { 
        // TODO Auto-generated method stub 
        mp.release(); 
       } 

      }); 
      player.setLooping(false); 
        } catch (IOException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    } 
+0

감사합니다. @aangwi – ceosilvajr

2

내가 해봤 @aangwi를 사용 대답은 있지만 FileNodeFoundException이 있습니다.

final AssetFileDescriptor afd = myactivity.getResources().openRawResourceFd(R.raw.your_file); 
final FileDescriptor fileDescriptor = afd.getFileDescriptor(); 
MediaPlayer player = new MediaPlayer(); 
try { 
    player.setDataSource(fileDescriptor, afd.getStartOffset(), 
    afd.getLength()); 
    player.setLooping(false); 
    player.prepare(); 
    player.start(); 
} catch (IOException ex) { 
    LOGGER.error(ex.getLocalizedMessage(), ex); 
} 
+1

고마워, 그게 나를 위해 해냈어! – bsam

관련 문제