如何发送标题&在android中使用icecast客户端的音频的艺术家名称

时间:2015-02-10 13:19:11

标签: android metadata icecast

以下代码按预期工作流式传输到icecast服务器。但我想发送额外的信息,如标题,艺术家和流。我尝试过添加冰标题,冰艺术家,标题,艺术家等标签。但它没有添加标题和&艺术家

s = new Socket(server,port_num);
Log.d("VS", "Socket Created");
out =  new BufferedOutputStream(new DataOutputStream(s.getOutputStream()));
Log.d("VS", "Output Stream Established");
output = new PrintWriter(out);
Log.d("VS", "Send Header");
output.println("SOURCE /"+mountpoint+" ICE/2.0");
output.println("Authorization: Basic "+authString);
output.println("ice-name:"+title);
output.println("ice-url:echonet.cc");
output.println("TITLE="+title);
output.println("ARTIST="+generalUsername);
output.println("ice-username:"+generalUsername); 
output.println("ice-user:"+generalUsername);
output.println("content-type: application/x-ogg");
output.println("User-Agent: App");                  
output.println("ice-private: 0");
output.println("ice-public: 1");
output.println("ice-audio-info: ice-samplerate="+sampleRate_string+"ice-quality="+quality_string+";ice-channels="+channel_string);
output.println("ice-audio-info: ice-samplerate=8000;ice-bitrate=128;ice-channels=2");
output.println("\r\n");
output.println("\n");
output.flush();
Log.d("VS", "Header sent");
reader = new BufferedReader(new InputStreamReader(s.getInputStream()));
for (String line; (line = reader.readLine()) != null;) {
   if (line.equals("")) break;
   Log.d("VS", "Responce From Server");
   Log.d("VS",line);
}

我对android编程很新。如果代码或任何其他方式发送标题和问题有任何问题艺术家请告诉我。感谢

1 个答案:

答案 0 :(得分:-1)

通过修改本机代码

解决了问题

我在vorbis记录器的启动方法中添加了额外的参数。据此修改了其他功能。 在org_xiph_vorbis_encoder_VorbisEncoder.c&添加了艺术家的额外参数。 org_xiph_vorbis_encoder_VorbisEncoder.h 为了获得头衔和艺术家的工作。

有方法      vorbis_comment_add_tag(& vc,“艺术家”,“您的额外参数”); 在org_xiph_vorbis_encoder_VorbisEncoder.c中,我们只需要将参数传递给它。