androidmp3wavplayback

Android, How to play WAV file programmatically


I have may file.wav in my directory. Then in parallel, I have to play is with an mp3 file.

See the code below:

String recordedFile = "/storage/sdcard0/app/file.wav";
MediaPlayer recordedSong = new MediaPlayer();

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

Error: Creation failed and it throws IOException


Solution

  • Try to create raw folder and put your file there, use this

    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();
            } 
        }