プログレッシブダウンロードMP3をストリーミングするときにうまく動作するMediaPlayerを使用しているアプリがあります。私はAACファイルのダウンロードを進めるために同じアプリを使用しようとしました。そしてそれはファイルをうまく再生します。動作しないのは、AACでMediaPlayer.seekTo()を使用してストリーム内をスキップしようとするときです。これはmp3でもうまくいきます。 AACストリームの場合、再生はゼロで再生を再開します。Android MediaPlayerを使用してhttpストリーム経由でAACをシークできますか?
私の気持ちはエンコード関連です。そのAACファイルはストリームに正しく設定されていません。ここで
はMediaInfoをツールから出力されます:
Size: 2.3 MB
Format: QuickTime/MPEG-4/Motion JPEG 2000 format
Stream count: 2
Duration: 00:05:02
Bit rate: 64 kb/s
Meta info:
album_artist: Red Hot Chili Peppers
album: The Getaway
minor_version: 512
encoder: Lavf57.41.100
title: Dark Necessities
major_brand: M4V
track: 2
disc: 1
compatible_brands: isomiso2avc1
artist: Red Hot Chili Peppers
copyright: 2016 Warner Bros. Records Inc.
genre: Alternative
Stream 0
Type: video
Codec: h264
Codec profile: High 10
FourCC: avc1
Duration: 00:00:00
Width: 350
Height: 350
Sample aspect ratio: 1:1
Display aspect ratio: 1:1
Pixel format: yuv420p10le
Frame rate: 90000 fps
Meta info:
handler_name: VideoHandler
language: und
Stream 1
Type: audio
Codec: aac
FourCC: mp4a
Duration: 00:05:02
Bit rate: 64 kb/s
Sample rate: 44100 Hz
Sample format: s16
Channel: 2
Meta info:
handler_name: SoundHandler
language: und
あなたはそれが本当にAACオーディオとビデオファイルだと本当のビデオが含まれていませんがわかります。その場合、ロードされているかもしれない、あるいはロードされていないストリームの一部を求めるときに、再生する場所を知るためにメタデータが必要になると考えました。また、ビデオはどこから再生するかを知るためにキーフレームが必要ですので、キーフレームやヒントボックスはストリーム/ファイルに含まれていないと思います。
私は、何が欠けているか、またはこれが可能かどうかについての実際の詳細を見つけるのに運がなかった。私はこれを他のバージョンでテストしましたが、5.0.2より前のバージョンではうまくいきました。 5.0.2以降は動作しません。そのバージョンで何が変更されたかについての詳細は見つかりませんでした。
これは、このファイルをプログレッシブダウンロードのHTTPストリームでストリーミングすることを許可しないストリームエンコードの問題である可能性があります。あるいは、5.0.2周间に作成されたAndroid Media Playerのバグかもしれません。それとも、両方の可能性があります。
なぜこれが機能しないのですか?
M4A/MP4に含まれているオーディオではなく、生のAAC(ADTSヘッダー付き)としてストリーム出力することはできますか?あなたがMP3フレームを取得するのでMP3が機能しています(それぞれ数ミリ秒の音です)ので、シークするためにフレームをスキップするだけです。 AACもフレームです(コンテナの中に入れない場合)。私はAndroid SDKにあまり慣れていませんが、フレームのバイトをSDKデコーダに送信できると確信しています。私はいくつかのオプションを調査します。 –
AndroidのプレイヤーでADTSのサポートを受けてメッセージが混ざっていたので、正しく動作するかどうかはわかりません。私は、あなたが見つけたものを聞くのを楽しみにしています。 – chubbsondubs
チェックのためのサンプルストリームリンクがありますか? –