簡體   English   中英

將Ogg文件上傳到Android中的音頻流

[英]Upload Ogg File to audio streaming in Android

我在互聯網廣播應用程序方面很菜鳥。 我正在使用icecast進行音頻流傳輸,因此首先在android應用程序中,我捕獲了ogg文件中的音頻字節,因此我想將此文件發送以進行音頻流傳輸。

我的問題我將如何發送完整的* .ogg文件或其他格式的文件? 任何幫助請

這是我連接到正在運行的Icecast

Socket s = new Socket("101.57.116.17", 8000);
Socket s = new Socket("101.57.116.17", 8000);
Log.d("VS", "Socket Created");
OutputStream out = s.getOutputStream();
Log.d("VS", "Output Stream Established");
PrintWriter output = new PrintWriter(out);
Log.d("VS", "Send Header");
output.println("SOURCE /app ICE/2.3.3");
output.println("content-type: audio/mpeg");
output.println("Authorization: Basic c291cmNlOmhhY2ttZQ==");
output.println("ice-name: Server");
output.println("ice-genre: Rock");
output.println("ice-bitrate: 128");
output.println("ice-private: 0");
output.println("ice-public: 1");
output.println("ice-audio-info: ice-samplerate=44100;ice-bitrate=128;ice-channels=2");
output.println("");
output.flush();
Log.d("VS", "Header sent");
BufferedReader reader = new BufferedReader(new InputStreamReader(
        s.getInputStream()));
String response = reader.readLine();
Log.v(LOG_TAG, response);

HttpClient client = new DefaultHttpClient();

HttpGet httpGET = new HttpGet(
        "http://101.57.116.17:8000/admin/metadata?pass=hackme&mode=updinfo&mount=/app&song=akon");
httpGET.setHeader("Authorization", "Basic c291cmNlOmhhY2ttZQ==");
httpGET.setHeader("User-Agent", "(Mozilla Compatible)");

HttpResponse metaDataResponse = client.execute(httpGET);

System.out.println("Response Code : "
        + metaDataResponse.getStatusLine().getStatusCode());

BufferedReader rd = new BufferedReader(new InputStreamReader(
        metaDataResponse.getEntity().getContent()));

StringBuffer result = new StringBuffer();
String line = "";
while ((line = rd.readLine()) != null) {
    result.append(line);
}

連接到Icecast服務器並獲得授權后,只需開始通過同一連接發送流數據即可。

請注意,您需要以發生回放的速度執行此操作。 否則,您將超出緩沖區,客戶端的音頻將根本無法工作,或者會跳來跳去。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM