安卓播放器持续回调,缓冲中。

11

我在应用程序中使用MediaPlayer播放在线mp3文件的音频。

然而,即使播放完成后,控制台仍会显示大量的回调和缓冲。

10-24 08:08:48.467  19221-19233/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:48.467  19221-19233/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:49.468  19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:49.468  19221-19232/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:49.468  19221-19232/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:49.468  19221-19232/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:50.469  19221-19233/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:50.469  19221-19233/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:50.469  19221-19233/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:50.469  19221-19233/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:51.470  19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:51.470  19221-19232/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:51.470  19221-19232/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:51.470  19221-19232/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:52.471  19221-19233/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:52.471  19221-19233/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:52.471  19221-19233/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:52.471  19221-19233/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:53.472  19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:53.472  19221-19232/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:53.472  19221-19232/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:53.472  19221-19232/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:54.473  19221-19233/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:54.473  19221-19233/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:54.473  19221-19233/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:54.473  19221-19233/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:55.473  19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:55.473  19221-19232/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:55.473  19221-19232/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:55.473  19221-19232/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:56.474  19221-19233/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0
10-24 08:08:56.474  19221-19233/com.myapp V/MediaPlayer﹕ buffering 100
10-24 08:08:56.474  19221-19233/com.myapp V/MediaPlayer﹕ callback application
10-24 08:08:56.474  19221-19233/com.myapp V/MediaPlayer﹕ back from callback
10-24 08:08:57.475  19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0

我尝试在播放器上调用stop()方法,但这只会导致播放器无法正常播放。

我该怎么办?


1
有什么见解吗?我现在也是这样^^ - Joerg Simon
好的,我认为我解决了我的问题:我愚蠢地忘记设置setOnPreparedListener() o_O。 - Joerg Simon
@JoergSimon我已经设置了setOnprepareListener,但仍然面临相同的问题。 - Ricardo
你解决了吗?我也遇到了这个问题。 - Dragolis
2个回答

2
你确定后台没有其他应用在运行吗(比如Pandora)?
我发现你的问题是因为我的Droid手机也在产生同样的logcat消息。后来我意识到我的Pandora应用程序被暂停了,结束应用后,这些消息停止了。

1

嘿,我也在我的案例中发现了这个问题。

尝试添加一个OnCompletionListener。

voicePlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mp.stop(); mp.reset(); } });


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接