大佬教程收集整理的这篇文章主要介绍了android – setDataSourceFD失败:状态= 0x80000000在三星手机上播放aac文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
用于录制:
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()); } }
对于玩:
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(Au@L_929_3@manager.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); } }
此代码在Nexus 5(Android 6.0)和LG G3与Android 5.0上运行良好,录制和播放音频.但是当我使用三星手机时,我得到了例外:
看一些例子:
MediaPlayer.setDataSource causes IOException for valid file
Exception when calling setDataSource(FileDescriptor) method (failed.: status=0x80000000)
以上是大佬教程为你收集整理的android – setDataSourceFD失败:状态= 0x80000000在三星手机上播放aac文件全部内容,希望文章能够帮你解决android – setDataSourceFD失败:状态= 0x80000000在三星手机上播放aac文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。