AudioTrack.GetTimestamp(AudioTimestamp) メソッド

定義

必要に応じてタイムスタンプをポーリングします。

[Android.Runtime.Register("getTimestamp", "(Landroid/media/AudioTimestamp;)Z", "GetGetTimestamp_Landroid_media_AudioTimestamp_Handler")]
public virtual bool GetTimestamp (Android.Media.AudioTimestamp? timestamp);
[<Android.Runtime.Register("getTimestamp", "(Landroid/media/AudioTimestamp;)Z", "GetGetTimestamp_Landroid_media_AudioTimestamp_Handler")>]
abstract member GetTimestamp : Android.Media.AudioTimestamp -> bool
override this.GetTimestamp : Android.Media.AudioTimestamp -> bool

パラメーター

timestamp
AudioTimestamp

呼び出し元によって割り当てられ、所有されている null 以外の AudioTimestamp インスタンスへの参照。

戻り値

タイムスタンプが使用可能な場合は true、使用できるタイムスタンプがない場合は false。 タイムスタンプが使用可能な場合、AudioTimestamp インスタンスには、フレーム単位の位置と、そのフレームが表示されたか、提示がコミットされた推定時間が入力されます。 タイムスタンプが使用できない場合、指定されたインスタンスはすべて変更されません。 オーディオ クロックが安定している間、またはルートの変更中と直後にタイムスタンプが一時的に使用できない場合があります。 ルートがタイムスタンプをサポートしていない場合、タイムスタンプは特定のルートで永続的に使用できません。 この場合、おおよそのフレーム位置は を使用して #getPlaybackHeadPosition取得できます。 ただし、ルート変更後に復旧するために、タイムスタンプのクエリを引き続き実行すると便利な場合があります。

属性

注釈

必要に応じてタイムスタンプをポーリングします。

初期ウォームアップ中またはルーティングまたはモード変更後にタイムスタンプを追跡する必要がある場合は、報告されたタイムスタンプにフレーム位置が進んでいるか、タイムスタンプがこのルートで使用できないことが明らかになるまで、定期的に新しいタイムスタンプを要求する必要があります。

クロックが安定した速度で進んだ後、10 秒ごとに約 1 回から 1 分に 1 回、新しいタイムスタンプを照会します。 このメソッドをより頻繁に呼び出すことは非効率的です。 また、連続するタイムスタンプ レポート間の短期的な違いは意味がないため、推奨されるよりも頻繁にこのメソッドを呼び出すことも逆効果です。 フレーム位置とプレゼンテーション時間の間に高解像度のマッピングが必要な場合は、低解像度のタイムスタンプに基づいて、アプリケーション レベルで実装することを検討してください。

返された位置にあるオーディオ データは、既に提示されているか、まだ表示されていない可能性がありますが、表示されるようにコミットされている可能性があります。 特定の位置に対応する時間を要求したり、特定の時刻に対応する (小数) 位置を要求したりすることはできません。 このような機能が必要な場合は、アプリケーション レベルで実装することを検討してください。

android.media.AudioTrack.getTimestamp(android.media.AudioTimestamp)Java ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

適用対象