2009-12-15 137 views
0

我得到以下错误未知错误()

12-15 16:54:37.125:ERROR/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.pause()mp.stop()使它的工作。

难道这个流不支持暂停吗?这是一个SDP格式的在线广播流(RTSP)。

+0

你有没有尝试过与其他流和媒体格式的代码?另外,如果你有一个示例RTSP URL,这对测试很有用。 – 2009-12-15 19:30:28

+0

我只试过一个流(rtsp://lyssna-mp4.sr.se/live/mobile/SR-P3.sdp)。我可以尝试另一种格式,看看会发生什么。 – aspartame 2009-12-16 08:11:29

回答

2

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

这可能对您有所帮助,如果它不能解决您需要的东西,至少它会为您提供有关如何实现此类任务的另一个视角。

+0

我会检查出来的! – aspartame 2009-12-16 08:12:42