2

を使用して mp3 ストリームからストリーミングしていMediaPlayerます。

コールバックにデータソース、 call preparyAsync()、 callを設定しstart()ましたonPrepared()

今、曲をストリーミングするときにメディアプレーヤーによってダウンロードされたバイト数を知りたいです。

バイト数を追跡​​する方法はありますか?

1 曲ではなく、mp3 ストリームになります。

4

1 に答える 1

1

再生されたオーディオの長さに比例する MediaPlayer 内の非圧縮データのバイト数ではなく、ダウンロードされた圧縮データのバイト数を知りたいとのことですが。(例えば VBR を使用する場合、圧縮されたデータは比例しない場合があります)。

ダウンロードされた圧縮データのバイト数を取得するには、MediaPlayer によってダウンロードされたストリームのバイト数をカウントする必要がありますが、ダウンロードされたストリームにアクセスする唯一の方法は、MediaPlayer にフィードするローカル ストリーム プロキシを実装すること、または 2 番目のソリューションであると考えています。ストリームをローカル ファイルに保存し、このファイルを MediaPlayer で開くことですが、後者のソリューションには、MediaPlayer がローカル ファイルをロックし、データを追加できないため、いくつかの制限があります。

最初のソリューションについては、 MediaPlayerにフィードするプロキシを実装する方法について、このソリューションを参照してください。

于 2013-04-14T15:30:46.233 に答える