public
final
class
AudioTimestamp
extends Object
java.lang.Object | |
↳ | android.media.AudioTimestamp |
Structure that groups a position in frame units relative to an assumed audio stream, together with the estimated time when that frame enters or leaves the audio processing pipeline on that device. This can be used to coordinate events and interactions with the external environment.
The time is based on the implementation's best effort, using whatever knowledge is available to the system, but cannot account for any delay unknown to the implementation.
Constants | |
---|---|
int |
TIMEBASE_BOOTTIME
Clock monotonic including suspend time or its equivalent on the system,
in the same units and timebase as |
int |
TIMEBASE_MONOTONIC
Clock monotonic or its equivalent on the system,
in the same units and timebase as |
Fields | |
---|---|
public
long |
framePosition
Position in frames relative to start of an assumed audio stream. |
public
long |
nanoTime
Time associated with the frame in the audio pipeline. |
Public constructors | |
---|---|
AudioTimestamp()
|
Inherited methods | |
---|---|
From
class
java.lang.Object
|
int TIMEBASE_BOOTTIME
Clock monotonic including suspend time or its equivalent on the system,
in the same units and timebase as elapsedRealtimeNanos()
.
Constant Value: 1 (0x00000001)
int TIMEBASE_MONOTONIC
Clock monotonic or its equivalent on the system,
in the same units and timebase as nanoTime()
.
Constant Value: 0 (0x00000000)
long framePosition
Position in frames relative to start of an assumed audio stream.
When obtained through
AudioRecord.getTimestamp(AudioTimestamp, int)
,
all 64 bits of position are valid.
When obtained through
AudioTrack.getTimestamp(AudioTimestamp)
,
the low-order 32 bits of position is in wrapping frame units similar to
AudioTrack.getPlaybackHeadPosition()
.
long nanoTime
Time associated with the frame in the audio pipeline.
When obtained through
AudioRecord.getTimestamp(AudioTimestamp, int)
,
this is the estimated time in nanoseconds when the frame referred to by
framePosition
was captured. The timebase is either
TIMEBASE_MONOTONIC
or TIMEBASE_BOOTTIME
, depending
on the timebase parameter used in
AudioRecord.getTimestamp(AudioTimestamp, int)
.
When obtained through
AudioTrack.getTimestamp(AudioTimestamp)
,
this is the estimated time when the frame was presented or is committed to be presented,
with a timebase of TIMEBASE_MONOTONIC
.