我正在处理与媒体服务器联系的应用程序。所以,我有一个充满媒体网址的数组。媒体类型为mp3
。
我有一个ListView
,每行表示一个数组的单元格。当点击事件收到每一行时,它应该运行setDataSource
,prepare
和start
MediaPlayer。第一次,我点击了一行,所有的东西都没问题,媒体流也成功了。但是当我在播放最后一个媒体时点击另一个媒体时,会发生error (1,-114)
。
根据MediaPlayer,我知道setDataSource
应该在MediaPlayer的Idle
状态下运行,因此,在设置数据源之前,我调用reset
移动到{{ 1}}状态。
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
MEDIA_ERROR_UNKNOWN
What: 1
(我没有找到任何关于此错误的文档)
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:0)
当您决定切换到其他歌曲时,可以尝试拨打mediaPlayer.release()
。