Most visited

Recently visited

Added in API level 23

SyncParams

public final class SyncParams
extends Object

java.lang.Object
   ↳ android.media.SyncParams


常见A / V同步参数的结构。 MediaSync {link MediaSync#getSyncParams()}和{link MediaSync#setSyncParams(SyncParams)}使用,以控制A / V同步行为。

音频调整模式:选择在由于同步而改变播放速度时处理音轨。

同步源:选择时钟源进行同步。

容差:指定允许媒体与同步源保持同步的允许播放速率变化量。 对此的处理取决于同步源,但不能是否定的,并且必须小于1。

frameRate:视频帧速率的初始提示。 当同步源是vsync时使用。 负值可以用来清除以前的提示。

Summary

Constants

int AUDIO_ADJUST_MODE_DEFAULT

系统将确定最佳的音频处理以进行播放速率调整。

int AUDIO_ADJUST_MODE_RESAMPLE

必须调整播放速率时重新采样音频。

int AUDIO_ADJUST_MODE_STRETCH

播放速率必须调整时,延长音频时间。

int SYNC_SOURCE_AUDIO

使用音轨作为同步源。

int SYNC_SOURCE_DEFAULT

使用默认同步源(默认)。

int SYNC_SOURCE_SYSTEM_CLOCK

使用系统单调时钟作为同步源。

int SYNC_SOURCE_VSYNC

使用vsync作为同步源。

Public constructors

SyncParams()

Public methods

SyncParams allowDefaults()

允许为未设置的属性返回默认值。

int getAudioAdjustMode()

检索音频调整模式。

float getFrameRate()

检索视频帧速率提示。

int getSyncSource()

检索同步源。

float getTolerance()

检索容差系数。

SyncParams setAudioAdjustMode(int audioAdjustMode)

设置音频调节模式。

SyncParams setFrameRate(float frameRate)

设置要使用的视频帧率提示。

SyncParams setSyncSource(int syncSource)

设置同步源。

SyncParams setTolerance(float tolerance)

设置公差。

Inherited methods

From class java.lang.Object

Constants

AUDIO_ADJUST_MODE_DEFAULT

Added in API level 23
int AUDIO_ADJUST_MODE_DEFAULT

系统将确定最佳的音频处理以进行播放速率调整。

默认使用。 这会使音频播放速度更快或更慢,而不会改变其音高; 但是,如果播放速率不再支持时间拉伸,则系统可能会回退到某种其他方法(例如更改音高或使音频静音)。

常量值:0(0x00000000)

AUDIO_ADJUST_MODE_RESAMPLE

Added in API level 23
int AUDIO_ADJUST_MODE_RESAMPLE

必须调整播放速率时重新采样音频。

这将使音频播放速度按照同步源所要求的速度更快或更慢,方法是更改其音高(降低播放速度,播放速度更快)。

也可以看看:

常量值:2(0x00000002)

AUDIO_ADJUST_MODE_STRETCH

Added in API level 23
int AUDIO_ADJUST_MODE_STRETCH

播放速率必须调整时,延长音频时间。

这会使音频播放速度更快或更慢,只要它支持播放速率,而不改变它的音高即可。

也可以看看:

常数值:1(0x00000001)

SYNC_SOURCE_AUDIO

Added in API level 23
int SYNC_SOURCE_AUDIO

使用音轨作为同步源。 这需要音频数据和音轨。

也可以看看:

常量值:2(0x00000002)

SYNC_SOURCE_DEFAULT

Added in API level 23
int SYNC_SOURCE_DEFAULT

使用默认同步源(默认)。 如果媒体具有视频,则同步呈现到可直接呈现给显示器的表面,并且容差不为零(例如,不小于0.001),则将vsync源用于时钟源。 否则,如果媒体有音频,则使用音轨。 最后,如果媒体没有音频,则使用系统时钟。

常量值:0(0x00000000)

SYNC_SOURCE_SYSTEM_CLOCK

Added in API level 23
int SYNC_SOURCE_SYSTEM_CLOCK

使用系统单调时钟作为同步源。

也可以看看:

常数值:1(0x00000001)

SYNC_SOURCE_VSYNC

Added in API level 23
int SYNC_SOURCE_VSYNC

使用vsync作为同步源。 这需要视频数据和直接呈现给显示器的输出表面,例如SurfaceView

此模式可通过调整播放速度以匹配vsync速率实现更平滑的播放体验,例如,在59.94Hz显示屏上播放30fps的内容。 使用此模式时,容差应设置为大于0(例如至少1/1000),以便实际调节播放速度。

这种模式也可用于在60Hz显示器上使用2:3下拉(基本上以24fps播放内容)播放25fps的内容,从而在大多数设备上获得更好的播放体验。 在这种情况下,容差应至少为(1/24)。

也可以看看:

常量值:3(0x00000003)

Public constructors

SyncParams

Added in API level 23
SyncParams ()

Public methods

allowDefaults

Added in API level 23
SyncParams allowDefaults ()

允许为未设置的属性返回默认值。 否则,在获取那些具有默认值但从未设置的属性时会引发IllegalArgumentException异常。

Returns
SyncParams this SyncParams instance.

getAudioAdjustMode

Added in API level 23
int getAudioAdjustMode ()

检索音频调整模式。

Returns
int audio adjust mode
Throws
IllegalStateException if the audio adjust mode is not set.

getFrameRate

Added in API level 23
float getFrameRate ()

检索视频帧速率提示。

Returns
float frame rate factor. A non-negative number representing the maximum deviation of the playback rate from the playback rate set. (abs(actual_rate - set_rate) / set_rate), or a negative number representing the desire to clear a previous hint using these params.
Throws
IllegalStateException if frame rate is not set.

getSyncSource

Added in API level 23
int getSyncSource ()

检索同步源。

Returns
int sync source
Throws
IllegalStateException if the sync source is not set.

getTolerance

Added in API level 23
float getTolerance ()

检索容差系数。

Returns
float tolerance factor. A non-negative number representing the maximum deviation of the playback rate from the playback rate set. (abs(actual_rate - set_rate) / set_rate)
Throws
IllegalStateException if tolerance is not set.

setAudioAdjustMode

Added in API level 23
SyncParams setAudioAdjustMode (int audioAdjustMode)

设置音频调节模式。

Returns
SyncParams this SyncParams instance.

setFrameRate

Added in API level 23
SyncParams setFrameRate (float frameRate)

设置要使用的视频帧率提示。 默认情况下,帧率未指定。

Parameters
frameRate float: A non-negative number used as an initial hint on the video frame rate to be used when using vsync as the sync source. A negative number is used to clear a previous hint.
Returns
SyncParams this SyncParams instance.

setSyncSource

Added in API level 23
SyncParams setSyncSource (int syncSource)

设置同步源。

Returns
SyncParams this SyncParams instance.

setTolerance

Added in API level 23
SyncParams setTolerance (float tolerance)

设置公差。 默认公差是平台特定的,但不会超过1/24。

Parameters
tolerance float: A non-negative number representing the maximum deviation of the playback rate from the playback rate set. (abs(actual_rate - set_rate) / set_rate)
Returns
SyncParams this SyncParams instance.
Throws
if the tolerance is negative, or not less than one

Hooray!