public final class SyncParams
extends Object
java.lang.Object | |
↳ | android.media.SyncParams |
常见A / V同步参数的结构。 由MediaSync
{link MediaSync#getSyncParams()}和{link MediaSync#setSyncParams(SyncParams)}使用,以控制A / V同步行为。
音频调整模式:选择在由于同步而改变播放速度时处理音轨。
AUDIO_ADJUST_MODE_DEFAULT
: System will determine best handling. AUDIO_ADJUST_MODE_STRETCH
: Change the speed of audio playback without altering its pitch.AUDIO_ADJUST_MODE_RESAMPLE
: Change the speed of audio playback by resampling the audio.同步源:选择时钟源进行同步。
SYNC_SOURCE_DEFAULT
: System will determine best selection.SYNC_SOURCE_SYSTEM_CLOCK
: Use system clock for sync source.SYNC_SOURCE_AUDIO
: Use audio track for sync source.SYNC_SOURCE_VSYNC
: Syncronize media to vsync.容差:指定允许媒体与同步源保持同步的允许播放速率变化量。 对此的处理取决于同步源,但不能是否定的,并且必须小于1。
frameRate:视频帧速率的初始提示。 当同步源是vsync时使用。 负值可以用来清除以前的提示。
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
|
int AUDIO_ADJUST_MODE_DEFAULT
系统将确定最佳的音频处理以进行播放速率调整。
默认使用。 这会使音频播放速度更快或更慢,而不会改变其音高; 但是,如果播放速率不再支持时间拉伸,则系统可能会回退到某种其他方法(例如更改音高或使音频静音)。
常量值:0(0x00000000)
int AUDIO_ADJUST_MODE_RESAMPLE
必须调整播放速率时重新采样音频。
这将使音频播放速度按照同步源所要求的速度更快或更慢,方法是更改其音高(降低播放速度,播放速度更快)。
也可以看看:
常量值:2(0x00000002)
int AUDIO_ADJUST_MODE_STRETCH
播放速率必须调整时,延长音频时间。
这会使音频播放速度更快或更慢,只要它支持播放速率,而不改变它的音高即可。
也可以看看:
常数值:1(0x00000001)
int SYNC_SOURCE_AUDIO
使用音轨作为同步源。 这需要音频数据和音轨。
常量值:2(0x00000002)
int SYNC_SOURCE_DEFAULT
使用默认同步源(默认)。 如果媒体具有视频,则同步呈现到可直接呈现给显示器的表面,并且容差不为零(例如,不小于0.001),则将vsync源用于时钟源。 否则,如果媒体有音频,则使用音轨。 最后,如果媒体没有音频,则使用系统时钟。
常量值:0(0x00000000)
int SYNC_SOURCE_SYSTEM_CLOCK
使用系统单调时钟作为同步源。
也可以看看:
常数值:1(0x00000001)
int SYNC_SOURCE_VSYNC
使用vsync作为同步源。 这需要视频数据和直接呈现给显示器的输出表面,例如SurfaceView
此模式可通过调整播放速度以匹配vsync速率实现更平滑的播放体验,例如,在59.94Hz显示屏上播放30fps的内容。 使用此模式时,容差应设置为大于0(例如至少1/1000),以便实际调节播放速度。
这种模式也可用于在60Hz显示器上使用2:3下拉(基本上以24fps播放内容)播放25fps的内容,从而在大多数设备上获得更好的播放体验。 在这种情况下,容差应至少为(1/24)。
常量值:3(0x00000003)
SyncParams allowDefaults ()
允许为未设置的属性返回默认值。 否则,在获取那些具有默认值但从未设置的属性时会引发IllegalArgumentException
异常。
Returns | |
---|---|
SyncParams |
this SyncParams instance. |
int getAudioAdjustMode ()
检索音频调整模式。
Returns | |
---|---|
int |
audio adjust mode |
Throws | |
---|---|
IllegalStateException |
if the audio adjust mode is not set. |
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. |
int getSyncSource ()
检索同步源。
Returns | |
---|---|
int |
sync source |
Throws | |
---|---|
IllegalStateException |
if the sync source is not set. |
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. |
SyncParams setAudioAdjustMode (int audioAdjustMode)
设置音频调节模式。
Returns | |
---|---|
SyncParams |
this SyncParams instance. |
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. |
SyncParams setSyncSource (int syncSource)
设置同步源。
Returns | |
---|---|
SyncParams |
this SyncParams instance. |
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 |