jQuery で html5 オーディオ タグを使用し、サポートされていないブラウザー用のフラッシュ フォールバックを備えた jPlayer を使用して、インターネット ラジオ ストリーマーを開発しました。iPhone (iOS 5.0.1) でプレーヤーをテストしたところ、非常に独特な問題が発生しました。
iPhone が WiFi に接続されている場合、HE-AAC V2 ストリーム @ 64kbps 44.1kHz (Apple 製品に推奨されるコーデック) を使用して完全にストリーミングします。ただし、iPhone が 3G モバイル ネットワークに接続されている場合、1 ~ 2 分ごとに 1 ~ 2 秒間ストリーミングが途切れるか停止します (ストリーミングが完全に停止するわけではありません)。問題は、iPhone が同じビット レートで別の MP3 ストリームを使用することを余儀なくされた場合です。iPhone にはこの問題はなく、3G で非常にうまく動作します。
更新 5
最近、3G/4G Sprint モバイル ホットスポット デバイスを入手し、そのデバイスでこの問題をテストしました。iPhone がモバイル ホットスポットに接続されている場合、Wi-Fi デバイスに接続されているように表示され、実際の接続が 3G/4G 経由であっても問題は発生しません。これは、iPhone が HTTP ライブ ストリーミング経由で HE-AAC を処理せず、モバイル ネットワークに直接接続されている場合の問題を示している可能性があります。
更新 4
iPhone を iOS 5.1 に更新しましたが、問題は解決しません。
更新 3
SO モバイル ネットワークに接続したときにスクリプトが正しくレンダリングされないというさまざまな問題については、こちらをお読みください。指は、たとえば画像のダウンサイジングなど、ウェブページを提供するためにプロキシを挿入している可能性のあるモバイル ネットワーク キャリアを指しているようです。また、一部の JavaScript ページを挿入する可能性があります。テストページはこちら 注: このページは HE-AAC を使用しているため、iPhone でのみ動作します...
アップデート
iOS デバイス用の Apple の HTTP ライブ ストリーミング ドキュメントによると、「オーディオのみのコンテンツは、MPEG-2 トランスポートまたは MPEG 基本オーディオ ストリームのいずれかであり、ADTS ヘッダーを含む AAC 形式または MP3 形式のいずれかです。」私たちの音楽サーバーは、OddcastV3 エンコーダーを使用して、3 つのストリーム (MP3、HE-AAC V2、および Oggvorbis) を icecastV2 サーバーに送信します。エンコーダーが HE-AAC V2 ストリームの ADTS ヘッダーを挿入しているかどうかは不明です。これを確認する方法はありますか?