I need to record and play an audio file, I use those two pieces of code:
For recording:
private void initRecorder() {
    try {
        mRecorder = new MediaRecorder();
        mRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        mRecorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
        mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
        mRecorder.setOutputFile(RECORD_FILE_NAME);
        mRecorder.prepare();
        mRecorder.start();
    } catch (IllegalStateException | IOException e) {
        Utility.e("initRecorder: " + e.getMessage());
    }
}
For Playing:
    try {
        FileDescriptor fd = null;
        FileInputStream fis = new FileInputStream(RECORD_FILE_NAME);
        fd = fis.getFD();
        if (fd != null) {
            mMediaPlayer = new MediaPlayer();
            mMediaPlayer.setDataSource(fd);
            mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
            mMediaPlayer.prepare();
            mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    if (mPlayTime > 0) {
                        mMediaPlayer.seekTo(mPlayTime);
                    }
                    mMediaPlayer.start();
                    setStatus(STATUS_PLAYING);
                }
            });
            mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                @Override
                public void onCompletion(MediaPlayer mp) {
                    mMediaPlayer.release();
                    RecordMomentActivity.this.mPlayTime = 0;
                    setStatus(STATUS_NOT_PLAYING);
                }
            });
        }
    } catch (Exception e) {
        Utility.e("Exception: " + e.getMessage());
        setStatus(STATUS_NOT_PLAYING);
    }
}
And this code works great, records and plays audio on Nexus 5 (Android 6.0) and on LG G3 with Android 5.0. But when I use Samsung phones I get Exception:
setDataSourceFD failed.: status=0x80000000
Have someone encounter this issue? and knows how should I handle it? If not is there any alternative that I can use to record and play audio files?