我想在android中为icecast服务器开发一个源客户端。我在网上搜索了很多,但我没有找到任何正确的解决方案和任何方法来做到这一点。
如果有人对此有所了解,请在此处回复,我也不明白如何将该元数据发送到 icecast 服务器。
我查看了以下链接:
@Brad 感谢您的回复,我看到了很多问题,并且您回答的问题更多。我只是在等待您的回复,谢谢 1)我在本地机器上安装了 icecast 服务器 2)从我的 android 程序我连接到 icecast 服务器(tcp 连接) 3)代码如下
s = new Socket("10.0.2.2",8000);
Log.d("VS", "Socket Created");
OutputStream out = s.getOutputStream();
Log.d("VS", "Output Stream Established");
output = new PrintWriter(out);
Log.d("VS", "Send Header");
output.println("SOURCE /stream ICE/1.0");
output.println("content-type: audio/mpeg");
output.println("Authorization: Basic c291cmNlOmhhY2ttZQ==");
output.println("ice-name: This is my server name");
output.println("ice-url: http://www.google.com");
output.println("ice-genre: Rock");
output.println("ice-bitrate: 128");
output.println("ice-private: 0");
output.println("ice-public: 1");
output.println("ice-description: This is my server description");
output.println("ice-audio-info: ice-samplerate=44100;ice-bitrate=128;ice-channels=2");
output.println("");
output.flush();
Log.d("VS", "Header sent");
reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
for (String line; (line = reader.readLine()) != null;)
{
if (line.isEmpty()) break;
Log.d("VS", "Responce From Server");
Log.d("VS",line);
}
Log.d("VS", "Sending Password");
output.println("pass:hackme");
output.println("");
output.flush();
for (String aline; (aline = reader.readLine()) != null;)
{
if (aline.isEmpty()) break;
Log.d("VS", "Responce From Server");
Log.d("VS",aline);
}
在 logcat 中:已创建套接字,已建立输出流,发送标头,已发送标头,来自服务器的响应,HTTP/1.0 200 OK,正在发送密码,在“发送密码”消息之后没有服务器响应。
在此链接http://droidtools.sourceforge.net/content/icecast-client-android中显示 libshout、libvorbis for android,这些(库)是在 android 中制作源客户端所必需的?
我是android开发的新手。如果代码或其他方式有任何问题,请告诉我。谢谢