Android 2.2 MediaPlayer错误

时间:2011-11-22 12:42:11

标签: android http-live-streaming android-mediaplayer

嗨试图播放音频,但我连续两天都出现以下错误......请告诉我哪里出错了......请告诉我如何克服这个问题...

  DEBUG/MediaPlayer(497): Couldn't open file on client side, trying server side
  INFO/StagefrightPlayer(34): setDataSource('http://stream.radiosai.net:8002/')
  DEBUG/AudioDemo(497): LoadClip Done
  DEBUG/dalvikvm(115): GC_EXPLICIT freed 689 objects / 39080 bytes in 150ms
  INFO/AwesomePlayer(34): calling prefetcher->prepare()
  INFO/Prefetcher(34): [0x677328] cache below low water mark, filling cache.
  INFO/AwesomePlayer(34): prefetcher is done preparing
  DEBUG/AudioDemo(497): Stream is prepared
  DEBUG/AudioSink(34): bufferCount (4) is too small and increased to 12
  WARN/AudioFlinger(34): write blocked for 77 msecs, 4773 delayed writes, thread 0xb3f0
  ERROR/AwesomePlayer(34): Not sending buffering status because duration is unknown.
  DEBUG/dalvikvm(387): GC_EXPLICIT freed 167 objects / 11832 bytes in 141ms
  WARN/AudioFlinger(34): write blocked for 82 msecs, 4804 delayed writes, thread 0xb3f0
  DEBUG/dalvikvm(262): GC_EXPLICIT freed 44 objects / 2032 bytes in 143ms
  WARN/AudioFlinger(34): write blocked for 73 msecs, 4841 delayed writes, thread 0xb3f0

3 个答案:

答案 0 :(得分:0)

http://stream.radiosai.net:8002/不是有效的媒体文件,而是网站(html文件)。

同时检查Android是否支持媒体格式: http://developer.android.com/guide/appendix/media-formats.html

答案 1 :(得分:0)

http://stream.radiosai.net:8002/这个Shoutcast类型。链接仅在android 2.2+上打开!

答案 2 :(得分:0)

打开.pls链接:

 public ArrayList<String> readURLs(String url) {             
            if(url == null) return false;
            ArrayList<String> allURls = new ArrayList<String>();
            try {

                URL urls = new URL(url);
                BufferedReader in = new BufferedReader(new InputStreamReader(urls
                        .openStream()));
                String str;
                while ((str = in.readLine()) != null) {
                    allURls.add(str);
                }
                in.close();
                return allURls ;
            } catch (Exception e) {
                e.printStackTrace();
                return null;
            } 
        }

然后解析链接和播放。