android - 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)
解决方案
经过大量的调查,我发现问题出在 SdkVersion 中,我将它从 compileSdkVersion 28 降级为 compileSdkVersion 27,然后它工作正常。谢谢你的回答。
推荐阅读
- sql - 使用触发器跟踪 PostgreSQL 表上插入、更新或删除的更改
- java - 如何在 JGROUPS 中禁用 FIFO 和重传协议?
- powershell - 仅压缩文件而非目录
- typescript - 当我使用 Bluebird.promisifyAll 时,打字稿无法推断类型
- c# - 如何访问大括号中的成员 { ID: 1, Name: John }
- text - TermDocumentMatrix 错误罕见字符(西班牙语)
- android - 使用 android studio 的秘密规则访问 Firebase
- angular - Nativescript Beacon 带摄像头
- rust - 使用 hyper 将块流异步写入文件
- jquery - 滚动到指定部分时,如何在 href 添加活动类?