gpt4 book ai didi

Android MediaPlayer 未从 prepareAsync 返回

转载 作者:行者123 更新时间:2023-11-30 02:32:12 25 4
gpt4 key购买 nike

我在使用特定 URI 启动 MediaPlayer 的 Logcat 中得到以下返回。通常每个 Uri,无论好坏,都会播放或返回一个错误,除了这个特定的。

I/MPS﹕ PrepAsync started
V/MediaPlayer﹕ message received msg=8, ext1=0, ext2=0
V/MediaPlayer﹕ unrecognized message: (8, 0, 0)
V/MediaPlayer﹕ callback application
V/MediaPlayer﹕ back from callback

...并卡在那里。

我真的只是在研究如何在错误处理程序中捕获此对话,但如果有人知道实际问题就更好了。

源代码FWIW:

mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);

mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
}
});
}

try {
mediaPlayer.setDataSource(sUrl);
mediaPlayer.prepareAsync();
} catch (Exception e) {
Log.d(TAG, "Exception:"+e;
}

另外,我已经尝试创建 OnInfoListener、OnError 和 OnBufferingUpdateListener。这些永远不会被调用。 mediaPlayer 似乎只是在 onPrepareAsync 期间消失了。

如果有人受到启发来玩这个,这里是 URL。

http://54.196.206.122/entercom-koitfmaac-64

我只是将其复制/粘贴到 VLC 中以验证链接是否有效。

更新:再看一遍之后,如果我等待的时间足够长,最终我会得到这个:

I/dalvikvm﹕ threadid=3: reacting to signal 3
I/dalvikvm﹕ Wrote stack traces to '/data/anr/traces.txt'

更新:Shubhang Malviya 指出的这个问题是我需要使用 URI.parse 作为:

mMediaPlayer.setDataSource(mContext, Uri.parse("http://54.196.206.122/entercom-koitfmaac-64"));

最佳答案

我认为如果我分享我的实现会很好:

尝试以下初始化媒体播放器的方式

try {
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnErrorListener(this);
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnInfoListener(this);
mMediaPlayer.setOnSeekCompleteListener(this);
mMediaPlayer.setDataSource(mContext, Uri.parse("http://54.196.206.122/entercom-koitfmaac-64"));
mMediaPlayer.prepareAsync();
} catch (IOException e) {
// reset media player
}

我的 onPrepared(MediaPlayer mp) 在几秒钟后被调用,它正在播放您的音乐文件。

此外,仅供引用“无法在客户端打开文件,尝试在服务器端打开”不是错误消息,而是来自 MediaPlayer 的调试消息。尝试播放网络视频流时,Logcat 总是这样说。

关于Android MediaPlayer 未从 prepareAsync 返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27182805/

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