簡體   English   中英

從用於流媒體的網頁在Android上啟動音頻播放器的方法

[英]Method for launching audio player on Android from web page for streaming media

要鏈接到SHOUTcast / HTTP互聯網廣播流,傳統上您會鏈接到播放列表文件,例如M3U或PLS。 從那里,瀏覽器將啟動注冊的音頻播放器以處理播放列表。 這適用於任何PC,Palm,Blackberry和iPhone。

此方法不會在Android中,而無需安裝額外的軟件工作。 當然, Just PlaylistsStreamFurious可以很好地處理它,但我假設必須有一種方法來調用默認安裝在Android安裝上的音頻或視頻播放器。

默認情況下,沒有音頻播放器能夠處理M3U或PLS。 玩家似乎打開它,但說“不支持的媒體類型”。

為了使這更加煩人,瀏覽器能夠通過HTTP傳輸MP3音頻,只需打開MP3文件的鏈接即可。 我試過直接鏈接到SHOUTcast托管的MP3流,它應該以相同的結果結束,但是SHOUTcast在用戶代理字符串中檢測到“Mozilla”,而不是發送流,它發送信息頁面為站。

如何在不使用額外應用程序的情況下從普通移動網站鏈接到Android上的SHOUTcast流?

正如評論中所指出的那樣,你所要求的是不可能的,至少在3.0出現之前,即使這樣,大多數設備上的功能都需要很長時間。 “沒有額外的應用程序”限制是非常有限的。 以下是一些違反此約束的替代方案,我敦促您考慮:

  • 要求用戶安裝應用程序
    是的,這不是你想要的,但這是最簡單的事情。 只是播放列表 (如您所發現的)將是一個很好的推薦。

  • 使用閃光燈
    不是每個人都有閃光燈,但對於那些你可以嵌入Flash小部件播放播放列表的人。 我發現一個聽起來像只能從快速谷歌工作。 SHOUTcast有自己的Flash播放器嗎?

  • 等待
    基本上你唯一的另一個選擇,因為這個功能在Android中還沒有。

適用於所有Android的解決方案! (在2.1及更高版本上測試)

事實證明這可能的。 對於Android,您只需直接鏈接到流,而不是像在其他平台上那樣鏈接到播放列表。 (這似乎是Reuben Scratton在評論中得到的結果。我希望我之前看過他的評論!)

瀏覽器將連接到流,檢測Content-Type ,然后決定將其傳遞給默認媒體播放器(如果它可以處理它)。 然后媒體播放器將緩沖並開始播放。

請注意,如果您希望這樣做,您必須對SHOUTcast進行相當多的黑客操作,因為Android需要一個有效的HTTP資源 ,SHOUTcast不提供。 另請注意,分塊編碼似乎不適用於Android 2.2及更早版本。

作為旁注,如果您不想為此編寫自己的代碼,我已經在AudioPump中實現了流媒體到Android,這是我正在研究的流媒體服務器。

你的M3U文件包含哪種流?

例如,您可以跳過M3U並將數據源直接設置為rtsp流。

mediaPlayer.setDataSource("rtsp://xxx/stream.stream");

完美的工作

不要忘記在不同的線程中運行它。

終於找到了解決方案! 使用Opera Web瀏覽器,它將提示保存m3u文件。 然后啟動只是播放列表 就像我的HTC Incredible 2上的魅力一樣

暫無
暫無

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

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