【问题标题】:Unknown error on pause()pause() 出现未知错误
【发布时间】:2009-12-15 16:12:57
【问题描述】:

我收到以下错误

12-15 16:54:37.125: 错误/MediaPlayer(6032): 错误 (-2147483648, 0)

尝试在服务中执行此代码时:

MediaPlayer mp = null;

@Override
public void onCreate() {
    if (mp == null) {
        mp = new MediaPlayer();
    }
}

@Override
public void onStart(Intent intent, int startId) {
    if (!mp.isPlaying()) {
        Log.d(DEBUG_TAG, "Not playing, starting stream...");
        try {
            mp.setDataSource(getString(R.string.address_p3));
            mp.prepare(); 
        } catch (IOException e) {}

        mp.start();
    } else { 
        Log.d(DEBUG_TAG, "Playing, pausing stream...");
        try { mp.pause(); } 
        catch (Exception e) {} 
    }
}

当第一次调用服务并且不存在MediaPlayer-object 时,流会正确启动。

但是当onStart()-方法再次被调用(播放器流式传输)时,我得到了上面的错误代码。

我找不到有关此错误代码的任何信息,因此我向您寻求帮助。用mp.stop() 替换mp.pause() 使其工作。

会不会是流不支持暂停?它是 SDP 格式的在线广播流 (RTSP)。

【问题讨论】:

  • 您是否尝试过使用其他流和媒体格式的代码?此外,如果您有一个示例 RTSP URL,这对测试很有用。
  • 我只尝试了一个流 (rtsp://lyssna-mp4.sr.se/live/mobile/SR-P3.sdp)。我可以尝试另一种格式,看看会发生什么。

标签: java android media-player rtsp


【解决方案1】:

我已经阅读了this tutorial 关于博主为 Android 自定义 StreamingMediaPlayer 类的内容,在教程中他谈到了他如何完成暂停流。

这可能对您有所帮助,如果它不能解决您的需求,至少它可以让您从另一个角度了解如何完成这样的任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-19
    • 1970-01-01
    • 1970-01-01
    • 2014-04-02
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    • 1970-01-01
    相关资源
    最近更新 更多