Android上的Shoutcast收音机
我正在制作一个应用程序,用于从互联网上传输广播内容!我花了很多时间试图找到一个简单的源代码来展示如何实现流媒体内容! 我在StackOverflow中找到了一些有用的链接,但没有人为我工作!! 求你了,我需要你的帮助,这是我编写的一段代码,但仍然不起作用!我不知道为什么! 附:电台的url工作正常Android上的Shoutcast收音机,android,shoutcast,internet-radio,Android,Shoutcast,Internet Radio,我正在制作一个应用程序,用于从互联网上传输广播内容!我花了很多时间试图找到一个简单的源代码来展示如何实现流媒体内容! 我在StackOverflow中找到了一些有用的链接,但没有人为我工作!! 求你了,我需要你的帮助,这是我编写的一段代码,但仍然不起作用!我不知道为什么! 附:电台的url工作正常 package com.example.radio; import android.app.Activity; import android.media.AudioManager; import a
package com.example.radio;
import android.app.Activity;
import android.media.AudioManager;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnPreparedListener;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends Activity implements OnPreparedListener {
MediaPlayer mp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
mp = new MediaPlayer();
String url="http://108.168.175.174:7120";
mp.setAudioStreamType(AudioManager.STREAM_MUSIC);
mp.setDataSource(url);
mp.prepareAsync();
mp.setOnPreparedListener(this);
} catch (Exception e) {
Log.i("ExceptionOnCreate:",e.getMessage());
}
}
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
}
这是日志目录:
05-06 10:20:07.291: E/MediaPlayer(1470): error (1, -2147483648)
05-06 10:20:07.291: E/MediaPlayer(1470): Error (1,-2147483648)
您的问题可能是由于SHOUTcast将您发送到管理界面。如果您的用户代理字符串包含
Mozilla
,那么您将获得管理页面而不是流。您可以通过在URL中请求分号来覆盖此行为:
http://108.168.175.174:7120/;
这将迫使服务器将您的用户代理字符串视为MPEG OVERRIDE
,并向您发送真实的流
如果这不能解决问题,您可能会遇到SHOUTcast服务器不符合HTTP的问题。他们将状态行发送为
ICY 200 OK
,而不是HTTP/1.0 200 OK
,这会中断许多客户端。您看到此链接了吗??感谢有用的链接在尝试代码之后http链接:不起作用,但是mp3链接:很好。有人能解释为什么第一个链接不起作用吗!!谢谢使用link:108.168.175.174:7120时出现了什么错误?您找到了解决方法吗?