首页 > 解决方案 > Android MediaPlayer 准备

问题描述

我正在尝试使用 Android MediaPlayer API 播放 mp3 文件,如下所示,

在此处输入图像描述

但不幸的是,prepare() 方法不适用于以下错误:

W/System.err: java.io.IOException: Prepare failed.: status=0x1 at android.media.MediaPlayer._prepare(Native Method) at android.media.MediaPlayer.prepare(MediaPlayer.java:1282) at com.baraka .activity.HfzHome.onCreate(HfzHome.java:47) at android.app.Activity.performCreate(Activity.java:7136) 09-11 02:17:38.560 24146-24146/com.baraka W/System.err: at android.app.Activity.performCreate(Activity.java:7127) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) 在 android.app.ActivityThread .handleLaunchActivity(ActivityThread.java:3048) 在 android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)在 android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java :1808) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:193) 09-11 02:17:38.561 24146-24146/com.baraka W/ System.err:在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit. java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 在 android.os.Handler.dispatchMessage (Handler.java:106) 在 android.os.Looper.loop(Looper.java:193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread。 main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:858)executeCallbacks(TransactionExecutor.java:108) 在 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 在 android.os.Handler.dispatchMessage (Handler.java:106) 在 android.os.Looper.loop(Looper.java:193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread。 main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal。 os.ZygoteInit.main(ZygoteInit.java:858)在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.ActivityThread$H.handleMessage(ActivityThread.java:1808) 处执行(TransactionExecutor.java:68) 在 android.os.Looper.loop(Looper .java:193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method。在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 的 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 调用(本机方法)在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.ActivityThread$H.handleMessage(ActivityThread.java:1808) 处执行(TransactionExecutor.java:68) 在 android.os.Looper.loop(Looper .java:193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method。在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 的 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 调用(本机方法)193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(Native方法)在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)193) 09-11 02:17:38.561 24146-24146/com.baraka W/System.err: 在 android.app.ActivityThread.main(ActivityThread.java:6669) 在 java.lang.reflect.Method.invoke(Native方法)在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)

标签: androidandroid-mediaplayer

解决方案


经过大量的调查,我发现问题出在 SdkVersion 中,我将它从 compileSdkVersion 28 降级为 compileSdkVersion 27,然后它工作正常。谢谢你的回答。


推荐阅读