无法使用Mediaplayer在Android中播放m4a音频文件

时间:2018-01-01 10:00:31

标签: android android-mediaplayer m4a

使用mediaplayer代码播放audio个文件,无法播放.m4a个扩展音频文件

错误:

  

java.io.IOException:准备失败:status = 0x1   01-01 14:54:30.399 8170-8170 / com.abc.prjnameW / System.err:at android.media.MediaPlayer.prepare(Native Method)   01-01 14:54:30.399 8170-8170 / com.abc.prjnameW / System.err:at com.abc.prjname.activities.detail.AudioDetailActivity.playAudio(AudioDetailActivity.java:477)   01-01 14:54:30.399 8170-8170 / com.abc.prjnameW / System.err:at com.abc.prjname.activities.detail.AudioDetailActivity $ 2.onClick(AudioDetailActivity.java:192)   01-01 14:54:30.399 8170-8170 / com.abc.prjnameW / System.err:at android.view.View.performClick(View.java:4753)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at android.view.View $ PerformClick.run(View.java:19562)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at android.os.Handler.handleCallback(Handler.java:733)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at android.os.Handler.dispatchMessage(Handler.java:95)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:在android.os.Looper.loop(Looper.java:146)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:在android.app.ActivityThread.main(ActivityThread.java:5635)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at java.lang.reflect.Method.invokeNative(Native Method)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at java.lang.reflect.Method.invoke(Method.java:515)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1291)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)   01-01 14:54:30.409 8170-8170 / com.abc.prjnameW / System.err:at dalvik.system.NativeStart.main(Native Method)

public void playAudio() {

        if (mediaPlayer == null) {
            mediaPlayer = new MediaPlayer();
        }
        if (!TextUtils.isEmpty(mediaFileUrl)) {
            try {
                mediaPlayer.reset();
                mediaPlayer.setDataSource(mediaFileUrl);
                mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                mediaPlayer.prepare();
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalStateException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {

                @Override
                public void onCompletion(MediaPlayer mp) {
                    if (mediaPlayer != null) {
                        mediaPlayer.stop();
                        mediaPlayer.release();
                        mediaPlayer = null;
                        audioLength = 0;
                        ivActionPlayVideo.setImageDrawable(ContextCompat.getDrawable(AudioDetailActivity.this, android.R.drawable.ic_media_play));
                        adjustRatingForLoggedInUser();
                        ivViewTracker.setVisibility(View.VISIBLE);
                        ivRecordingGifMic.setVisibility(View.GONE);
                    }
                }
            });
        } else {
            Utils.LOG(AudioDetailActivity.this,AudioDetailActivity.class.getName(), "mediaFileUrl:" + mediaFileUrl);
        }
    }

0 个答案:

没有答案
相关问题