AudioTimestamp


public final class AudioTimestamp
extends Object implements Parcelable

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.

Summary

Constants

int TIMEBASE_BOOTTIME

Clock monotonic including suspend time or its equivalent on the system, in the same units and timebase as SystemClock.elapsedRealtimeNanos().

int TIMEBASE_MONOTONIC

Clock monotonic or its equivalent on the system, in the same units and timebase as System.nanoTime().

Inherited constants

int CONTENTS_FILE_DESCRIPTOR

Descriptor bit used with describeContents(): indicates that the Parcelable object's flattened representation includes a file descriptor.

int PARCELABLE_WRITE_RETURN_VALUE

Flag for use with writeToParcel(Parcel, int): the object being written is a return value, that is the result of a function such as "Parcelable someFunction()", "void someFunction(out Parcelable)", or "void someFunction(inout Parcelable)".

Fields

public static final Creator<AudioTimestamp> CREATOR

Creates an instance from a Parcel.

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()

Public methods

int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

String toString()

Returns a string representation of the object.

void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

abstract int describeContents()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation.

abstract void writeToParcel(Parcel dest, int flags)

Flatten this object in to a Parcel.

Constants

TIMEBASE_BOOTTIME

Added in API level 24
public static final int TIMEBASE_BOOTTIME

Clock monotonic including suspend time or its equivalent on the system, in the same units and timebase as SystemClock.elapsedRealtimeNanos().

Constant Value: 1 (0x00000001)

TIMEBASE_MONOTONIC

Added in API level 24
public static final int TIMEBASE_MONOTONIC

Clock monotonic or its equivalent on the system, in the same units and timebase as System.nanoTime().

Constant Value: 0 (0x00000000)

Fields

CREATOR

Added in API level 34
public static final Creator<AudioTimestamp> CREATOR

Creates an instance from a Parcel.

framePosition

Added in API level 19
public 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().

nanoTime

Added in API level 19
public 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.

Public constructors

AudioTimestamp

Added in API level 19
public AudioTimestamp ()

Public methods

describeContents

Added in API level 34
public int describeContents ()

Describe the kinds of special objects contained in this Parcelable instance's marshaled representation. For example, if the object will include a file descriptor in the output of writeToParcel(android.os.Parcel, int), the return value of this method must include the CONTENTS_FILE_DESCRIPTOR bit.

Returns
int a bitmask indicating the set of special object types marshaled by this Parcelable object instance. Value is either 0 or CONTENTS_FILE_DESCRIPTOR

toString

Added in API level 19
public String toString ()

Returns a string representation of the object.

Returns
String a string representation of the object.

writeToParcel

Added in API level 34
public void writeToParcel (Parcel dest, 
                int flags)

Flatten this object in to a Parcel.

Parameters
dest Parcel: This value cannot be null.

flags int: Additional flags about how the object should be written. May be 0 or Parcelable.PARCELABLE_WRITE_RETURN_VALUE. Value is either 0 or a combination of Parcelable.PARCELABLE_WRITE_RETURN_VALUE, and android.os.Parcelable.PARCELABLE_ELIDE_DUPLICATES