gpt4 book ai didi

android - 音频文件抛出 IllegalStateException

转载 作者:行者123 更新时间:2023-11-29 18:10:50 43 4
gpt4 key购买 nike

我在这里读过任何一个问题,但没有一个能解决我的问题。我正在尝试播放媒体文件,但它显示:

E/MediaPlayer(554): prepareAsync called in state 8 W/System.err(554): java.lang.IllegalStateException W/System.err(554): at android.media.MediaPlayer.prepare(Native Method)

我找不到问题出在哪里.. 在模拟器上工作(抛出异常),在平板电脑上强制关闭。我看到一篇帖子说我不应该使用 prepare 方法,但如果我不这样做,一切都不会改变。

这是代码和错误:

 MediaPlayer player = MediaPlayer.create(MyAct.this, R.raw.zboo);
player.setLooping(false);

try {
player.prepare();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

player.start();

E/MediaPlayer(522): prepareAsync called in state 8

W/System.err(554): java.lang.IllegalStateException

W/System.err(554): at android.media.MediaPlayer.prepare(Native Method)

提前致谢。

最佳答案

首先,您不需要调用 prepare(),因为无论如何这都是由 create 完成的。来自 Android 文档;

MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start(); // no need to call prepare(); create() does that for you

其次,如果情况需要您需要准备,则改用 prepareAsync(),否则 UI 可能会挂起。异步准备在后台线程上执行准备部分,并在完成后返回结果。 Android documentation has more on this.

检查您的媒体文件以确保它可以播放。

关于android - 音频文件抛出 IllegalStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10814655/

43 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com