1

私のアプリケーションは HLS を使用してビデオを再生します。ほとんどのデバイスで正常に動作します。Samsung Galaxy S3 または Samsung Galaxy Note 2 で実行しようとすると、問題が発生します。

適切な Wi-Fi 接続があれば、再生は問題なく実行されます。接続をかなり低いビットレート (約 300 ~ 400) に制限し、約 10 秒後にプレーヤーがレイヤーを切り替えるまで待つと、次のメッセージが表示されて再生が停止します。

I/avc_utils(1929): found AVC codec config (320 x 180, Baseline-profile level 3.0)
I/ESQueue(1929): DRC : Change Resolution. [720x404] -> [320x180]

E/ACodec(1929): [OMX.SEC.aac.dec] ERROR(0x8000100b)
E/NuPlayer(1929): Received error from audio decoder, aborting playback.

E/NuPlayer(1929): audio track encountered an error (-2147483648)
E/MediaPlayer(15859): error (1, -2147483648)

なぜこれが起こるのか、なぜ特定のSamsungデバイスでのみ起こるのか、誰にも分かりませんか? たとえば、Galaxy Nexus は問題なく動作します。

以下は、m3u8 プレイリストの外観の例です。

EXTM3U

EXT-X-STREAM-INF:プログラム ID=1、帯域幅=755803

http://hiddenserver.com/layer_2.m3u8

EXT-X-STREAM-INF:プログラム ID=1、帯域幅=1577112

http://hiddenserver.com/layer_4.m3u8

EXT-X-STREAM-INF:プログラム ID=1、帯域幅=32083

http://hiddenserver.com/layer_5.m3u8

4

3 に答える 3

1

Samsung S3 には、HLS ストリームで MP3 オーディオをサポートしないという問題があります。開発者ページは、mpeg-ts が AAC のみをサポートすることを明確に示していません。

まったく同じ問題がありました。

于 2013-01-22T14:31:15.523 に答える
0

E/MediaPlayer(15859): エラー (1, -2147483648)は、サーバーが送信したファイルのオーディオ トラックから Player がエラーを取得したことを意味します。サーバー側でチャンク ファイルを作成する際に問題があるかどうかを確認する必要があります。

したがって、プレーヤーはこのエラーを無視でき、ストリーミングはスムーズに再生できます。

public boolean onError(MediaPlayer arg0, int what, int extra) { 
      if (what != 1 || extra != -2147483648) {
               //Show error
      }else {
           //Skip error
      }
}
于 2015-04-06T05:57:27.330 に答える