在android中开发icecast源客户端需要额外的库吗?

时间:2013-06-19 11:47:32

标签: android audio-streaming radio icecast

我想在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好的, 发送密码, 在“发送密码”msg后没有服务器响应。

在这个链接http://droidtools.sourceforge.net/content/icecast-client-android中显示libshout,libvorbis for android,这些(库)需要在android中制作源客户端?

我在android开发方面很新。如果代码或其他方式有任何问题,请告诉我。 谢谢

2 个答案:

答案 0 :(得分:1)

结帐我的github项目回购android-icecast-broadcast

它是从麦克风捕获,编码pcm音频。并播放冰服务器。 我已经包含了原生的库,但你可以自己构建它们。

答案 1 :(得分:0)

是的,您需要一个额外的库来将PCM数据编码为ogg或vorbis或opus格式。使用NDK。