Je veux développer un client source pour le serveur icecast dans android. J'ai beaucoup cherché sur le Net, mais je n'ai pas trouvé de solution correcte et aucun moyen de le faire.Pour développer un client source icecast dans android besoin de bibliothèques supplémentaires?
Si quelqu'un a des connaissances à ce sujet, répondez ici et je n'ai pas compris non plus comment envoyer ces métadonnées au serveur icecast.
Je vu les liens ci-dessous:
- Icecast 2: protocol description, streaming to it using C#,
- Broadcast to Icecast/SHOUTcast with Objective-C, C, or C++,
- Developing the client for the icecast server,
@Brad Merci pour votre réponse, je vu beaucoup de questions et plus d'entre eux ont répondu par vous. suis juste en attente de votre réponse, grâce 1) J'ai installé le serveur Icecast sur ma machine locale 2) De mon programme Android i connecté à Icecast serveur (connexion tcp) 3) Le code est ci-dessous
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);
}
en logcat: Socket créé, flux de sortie Etabli, tête d'envoi, tête envoyé, Responce à partir du serveur, HTTP/1.0 200 OK, Envoi mot de passe, après "Envoi mot de passe" msg-t-il pas responsab serveur e.
Dans ce lien http://droidtools.sourceforge.net/content/icecast-client-android il est montré que libshout, libvorbis pour android, ceux-ci (bibliothèque) sont nécessaires pour faire le client source dans android?
Je suis très nouveau dans le développement android.S'il y a un problème dans le code ou d'une autre manière de le faire s'il vous plaît faites le moi savoir. Merci
Comme je l'ai mentionné dans le post que vous avez lié à http://stackoverflow.com/a/9985297/362536, les métadonnées sont mises à jour via une simple requête HTTP. Pouvez-vous élaborer sur ce que vous ne comprenez pas à ce sujet? – Brad
Après avoir établi une connexion avec le serveur icecast. Comment vous envoyez les données au serveur icecast. S'il vous plaît partager votre recherche –
@Williams Pour l'envoi de flux audio au serveur, vous devez encoder l'audio en mp3 ou ogg.In mon projet, le code est totalement changé, après la connexion, j'encode le son au format ogg puis envoyer ce streaming live codé au serveur. En fait, j'ai utilisé le NDK pour encoder le son, il n'y a pas d'option pour encoder le son dans Android à ma connaissance. –