我正在开发与媒体服务器联系的应用程序。所以,我有一个填充媒体 URL 的数组。媒体类型为mp3
.
我有一个ListView
每一行表示一个数组的单元格。当每行收到点击事件时,它应该运行setDataSource
,prepare
并且start
MediaPlayer。第一次,我点击一行,一切正常,媒体流成功。但是,当我在最后一个媒体播放时单击另一个时,error (1,-114)
就会发生。
基于MediaPlayer,我知道setDataSource
应该在Idle
MediaPlayer 的状态下运行,因此,在设置数据源之前,我调用reset
以移动到Idle
状态。
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(getMusicUrl());
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.prepareAsync();
我执行OnErrorListener
,错误详情如下:
What: 1
MEDIA_ERROR_UNKNOWN
Extra: -114
(我还没有找到任何关于这个错误的文档)
谁能帮我解决这个问题?