4

SHOUTcast/HTTP インターネット ラジオ ストリームにリンクするには、従来、M3U や PLS などのプレイリスト ファイルにリンクしていました。そこから、ブラウザは、プレイリストを処理するために登録されたオーディオ プレーヤーを起動します。これは、どの PC、Palm、Blackberry、および iPhone でもうまく機能します。

この方法は、追加のソフトウェアをインストールしないと Androidでは機能しません。確かに、Just PlaylistsまたはStreamFuriousで問題なく処理できますが、Android インストールでデフォルトで一般的にインストールされるオーディオまたはビデオ プレーヤーを呼び出す方法が必要であると想定しています。

デフォルトでは、M3U または PLS を処理できるオーディオ プレーヤーはありません。プレーヤーはそれを開くように見えますが、「サポートされていないメディア タイプ」と表示されます。

これをさらに厄介なものにしているのは、ブラウザーが MP3 ファイルへのリンクを開くだけで、HTTP 経由で MP3 オーディオをストリーミングできることです。SHOUTcast がホストする MP3 ストリームに直接リンクするだけで、同じ結果になるはずですが、SHOUTcast はユーザー エージェント文字列で「Mozilla」を検出し、ストリームを送信する代わりに、そのストリームの情報ページを送信します。駅。

追加のアプリケーションを使用せずに、通常のモバイル サイトから Android の SHOUTcast ストリームにリンクするにはどうすればよいですか?

4

4 に答える 4

3

コメントに記載されているように、少なくとも 3.0 が登場するまでは、あなたが求めていることは不可能です。その場合でも、ほとんどのデバイスで機能が利用できるようになるまでには長い時間がかかります。「追加のアプリなし」という制約は、あまりにも限定的です。この制約に違反するいくつかの代替案を次に示します。代わりに検討することをお勧めします。

  • ユーザーにアプリのインストールを依頼する
    はい、それはあなたが望むものではありませんが、最も簡単な方法です。Just Playlists (ご存じのように) をお勧めします。

  • フラッシュを使用する
    すべての人がフラッシュを持っているわけではありませんが、持っている人は、フラッシュ ウィジェットを埋め込んでプレイリストを再生できます。簡単なグーグルだけで機能するように聞こえるものを見つけました。SHOUTcast には独自のフラッシュ プレーヤーがありますか?

  • この機能はAndroid
    にはまだないため、基本的に他の唯一のオプションです。

于 2011-02-17T17:31:18.633 に答える
1

M3Uファイルにはどのようなストリームが含まれていますか?

たとえば、M3Uをスキップして、データソースを直接rtspストリームに設定できます。

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

完璧に動作します

別のスレッドで実行することを忘れないでください。

于 2011-02-24T13:28:49.767 に答える
1

すべての Android 向けのソリューションです。(2.1以降でテスト済み)

これ可能であることがわかりました。Android の場合、他のプラットフォームのようにプレイリストにリンクするのではなく、ストリームに直接リンクするだけです。(これは、Reuben Scratton が彼のコメントで得ていたことのようです。彼のコメントをもっと早く見たかったです!)

ブラウザはストリームに接続し、Content-Type. その後、メディア プレーヤーはバッファリングし、再生を開始します。

Android では有効な HTTP リソースが必要ですが、SHOUTcast では提供されません。また、チャンク エンコーディングは Android 2.2 以前では機能しないようです。

補足として、このために独自のコードを書きたくない場合は、私が取り組んでいるストリーミング メディア サーバーであるAudioPump に Android へのストリーミングを実装しました。

于 2012-07-29T07:46:55.250 に答える
-1

ついに解決策を見つけました!m3u ファイルの保存を促すOpera Web ブラウザを使用します。次に、justplaylistsを起動します。私のHTC Incredible 2で魅力的に動作します

于 2011-06-15T14:27:09.323 に答える