2011-01-09 9 views
4

AudioTrackオブジェクトに書き込むPCMデコーダを実装しました。AudioTrackストリームからの通知メッセージ

しかし、最後に書き込まれたチャンクが再生を停止したときに、AudioTrackオブジェクトから何らかの通知を受け取る必要があります。

私は、setNotificationMarkerPosition,のようなコールバックメソッドがあることに気がつきましたが、それらを使用する方法についての広範なドキュメントは見つかりませんでした。

ありがとうございます!

+0

こんにちは、私はどのようにPCMデコーダを実装しましたか?私は、オーディオを解読するためのPCMデコーダを探しています。どんな助けも私には大いに役立ちます。 –

答えて

2

AudioTrackコールバックを取得するには、マーカーコールバックを設定するか、定期的なコールバックを使用できます。私はマーカーに関する問題の報告を見たので、両方を試してみてください。

マーカーコールバックの場合は、最初にsetNotificationMarkerPositionを呼び出し、呼び出したいフレーム番号を指定します。

定期的なコールバックの場合は、setPositionNotificationPeriodを呼び出して、xのフレームを呼び出します。

いずれにしても、コールバックを登録するにはsetPlaybackPositionUpdateListenerに電話する必要があります。これは、マーカに達した場合はonMarkerReachedの2つのメソッドを呼び出し、設定されたフレーム数ごとにonPeriodicNotificationのメソッドを呼び出します。どちらか一方、または両方を使用することができます。両方のコールバックは、設定したAudioTrackのインスタンスを参照しています。

デフォルトでは、AudioTrackインスタンスが作成された同じスレッドでコールバックします。あるいは、コールバックを登録して別のスレッドに送るときに、ハンドラを渡すこともできます。

関連する問題