2013-06-19 4 views
3

안드로이드에 icecast 서버에 대한 소스 클라이언트를 개발하고 싶습니다. 인터넷에서 많은 부분을 검색했지만 정확한 해결책과이를 수행 할 수있는 방법을 찾지 못했습니다.안드로이드에서 icecast 소스 클라이언트를 개발하려면 추가 라이브러리가 필요합니까?

누구나 알고있는 사람이 있으면 여기로 회신 해주십시오. 해당 메타 데이터를 icecast 서버에 보내는 방법을 모르겠습니다.

@ 브래드 감사합니다, 내가 질문하고 많이 볼 수 :

나는 아래의 링크를 볼 그들 중 더 많은 사람들이 당신에 의해 대답했습니다. 당신의 응답을 기다리고, 감사 1) 나는 내가 서버를 아이스 캐스트하는 (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); 
      } 
아래에 연결된 내 안드로이드 프로그램에서 내 로컬 컴퓨터 2)에 아이스 캐스트 서버를 설치 로그 캣에서

등재 소켓, 출력 스트림, 헤더, Responce 서버에서, HTTP/1.0 200 OK, 보내기 비밀번호, "전송 암호"MSG 후가 더 서버 응 답 전송되지 이 헤더를 보내기 설립 이자형.

이 링크 http://droidtools.sourceforge.net/content/icecast-client-android에는 libshout, android 용 libvorbis가 있습니다.이 라이브러리는 안드로이드에 소스 클라이언트를 만드는 데 필요합니까?

나는 안드로이드 개발에 새로운 verry입니다. 코드 또는 다른 방법으로 저에게 그것을 알려 주시기 바랍니다. 감사합니다

+0

http://stackoverflow.com/a/9985297/362536에 링크 된 게시물에서 언급했듯이 메타 데이터는 간단한 HTTP 요청을 통해 업데이트됩니다. 당신이 그것에 대해 이해하지 못하는 것을 자세히 설명해 주시겠습니까? – Brad

+0

icecast 서버에 연결 한 후. icecast 서버로 데이터를 보내는 방법. 제발 연구를 공유하십시오 –

+0

@ 윌리엄스 서버에 사운드 스트림을 보내려면 mp3 또는 ogg.On.In 프로젝트에 코드를 전적으로 코드가 전적으로 변경되었습니다, 연결 후 나는 인코딩 된 라이브 스트리밍 서버에 보내는 형식으로 사운드를 인코딩합니다. 실제로 나는 NDK를 사용하여 사운드를 인코딩했습니다. 내 지식에 따라 안드로이드에서 사운드를 인코딩 할 수있는 옵션이 없습니다. –

답변

0

예, PCM 데이터를 ogg 또는 vorbis 또는 opus 형식으로 인코딩하는 데 추가 라이브러리가 필요합니다. NDK를 사용하여.

1

내 github 프로젝트 저장소를 체크 아웃 android-icecast-broadcast.

마이크에서 pcm 오디오를 캡처하고 인코딩합니다. 얼음 서버를 방송합니다. 기본 라이브러리를 포함 시켰지만 직접 만들 수 있습니다.

관련 문제