AudioTrack
オブジェクトに書き込む PCM デコーダーを実装しました。
AudioTrack
すべてが素晴らしいように見えますが、最後に書き込まれたチャンクの再生が停止したときに、オブジェクトから何らかの通知を受け取る必要があります。
などのコールバック メソッドがあることに気付きましたがsetNotificationMarkerPosition,
、それらの使用方法に関する詳細なドキュメントは見つかりませんでした。
前もって感謝します!
コールバックを取得するにはAudioTrack
、マーカー コールバックを設定するか、定期的なコールバックを使用します。マーカーに問題があるという報告を見たことがありますので、両方試してみてください。
マーカー コールバックの場合、最初に呼び出しsetNotificationMarkerPosition
たいフレーム番号を指定して呼び出します。
定期的なコールバックの場合は、代わりに呼び出し、 xフレームsetPositionNotificationPeriod
ごとに呼び出します。
setPlaybackPositionUpdateListener
いずれにせよ、コールバックを登録するために呼び出す必要があります。onMarkerReached
これは、マーカーに到達した場合、またはonPeriodicNotification
設定されたフレーム数ごとに2 つのメソッドを呼び出します。どちらか一方、または両方を使用することを選択できます。どちらのコールバックも、AudioTrack
設定に使用した のインスタンスを参照します。
デフォルトでは、AudioTrack
インスタンスが作成されたのと同じスレッドでコールバックされます。または、コールバックを登録するときにハンドラーを渡して、別のスレッドに送信することもできます。