0

我正在开发与媒体服务器联系的应用程序。所以,我有一个填充媒体 URL 的数组。媒体类型为mp3.

我有一个ListView每一行表示一个数组的单元格。当每行收到点击事件时,它应该运行setDataSourceprepare并且startMediaPlayer。第一次,我点击一行,一切正常,媒体流成功。但是,当我在最后一个媒体播放时单击另一个时,error (1,-114)就会发生。

基于MediaPlayer,我知道setDataSource应该在IdleMediaPlayer 的状态下运行,因此,在设置数据源之前,我调用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(我还没有找到任何关于这个错误的文档)

谁能帮我解决这个问题?

4

1 回答 1

0

mediaPlayer.release()当您决定切换到其他歌曲时,您可以尝试打电话吗?

于 2013-11-01T16:44:58.893 回答