public class TuSDKMovieSurfaceDecoder extends TuSDKMediaDecoder
| 限定符和类型 | 类和说明 |
|---|---|
static class |
TuSDKMovieSurfaceDecoder.TuSDKMovieDecoderError
解码器错误信息
|
TuSDKMediaDecoder.TuSDKMediaDecoderError| 限定符和类型 | 字段和说明 |
|---|---|
static int |
INVALID_SEEKTIME_FLAG
标记是否需要 seek to
|
static int |
TIMEOUT_USEC
解码等待时间
|
INVALID_TRACK_FLAG, mAudioDecoder, mDataSource, mMovieReader, mVideoDecoder, TIME_US_BASE| 构造器和说明 |
|---|
TuSDKMovieSurfaceDecoder(TuSDKMediaDataSource videoDataSource) |
| 限定符和类型 | 方法和说明 |
|---|---|
TuSDKMovieReader |
createMovieReader()
初始化MediaExtractor 用于读取音视频信息
|
void |
destroy()
销毁释放视频解码器 (可运行在任意线程)
|
android.media.MediaCodec |
getAudioDecoder()
音频解码器
|
long |
getComputePresentationTimeUs()
获取解码器自助计算的时间戳 (在某些 第三方编码器上输出的视频帧时间不是顺序的,保存时不能依赖改时间,必须重新计算)
|
long |
getCurrentSampleTimeUs()
获取当前位置
|
float |
getProgress()
获取解码进度
|
TuSdkTimeRange |
getTimeRange()
获取文件裁剪时间范围
|
android.media.MediaCodec |
getVideoDecoder()
视频解码器
|
TuSDKVideoSurfaceDecodeDelegate |
getVideoDelegte() |
long |
getVideoDuration()
获取视频持续时长 单位:s
|
long |
getVideoDurationTimeUS()
获取视频原始时长 单位:ms
|
TuSDKVideoInfo |
getVideoInfo()
获取视频信息
|
org.lasque.tusdk.core.struct.TuSdkSize |
getVideoSize()
获取视频原始尺寸
|
protected void |
onDecoderComplete()
解码完成
|
protected void |
onDecoderError(TuSDKMediaDecoder.TuSDKMediaDecoderError error)
遇到错误
|
void |
pause()
暂停解码
|
void |
prepare(android.view.Surface surface,
TuSdkTimeRange timeRange,
boolean isDecordMovieAudio)
准备开始解码视频
|
void |
seekTimeUs(long seekTimeUs)
设置播放起始播放时间
|
void |
seekTo(long timeUs,
int mode)
指定播放的位置
|
void |
setAudioPacketDelegate(TuSDKAudioPacketDelegate audioaPacketDelegate)
音频数据包(未解码数据)
|
void |
setLooping(boolean looping)
是否循环解码(可实现视频循环播放)
|
void |
setVideoDelegate(TuSDKVideoSurfaceDecodeDelegate videoDelegate) |
void |
start()
启动视频解码 (可运行在任意线程)
|
void |
stop()
停止视频解码器 (可运行在任意线程)
|
createAudioDecoder, createMediaDecoder, createVideoDecoder, destroyMediaReader, findAudioTrack, findVideoTrack, getAudioTrackFormat, getMediaReader, getVideoFrameIntervalTimeUs, getVideoTrackFormat, seekTo, selectAudioTrack, selectVideoTrack, unselectAudioTrack, unselectVideoTrackpublic static final int TIMEOUT_USEC
public static final int INVALID_SEEKTIME_FLAG
public TuSDKMovieSurfaceDecoder(TuSDKMediaDataSource videoDataSource)
public TuSDKVideoInfo getVideoInfo()
public android.media.MediaCodec getVideoDecoder()
public android.media.MediaCodec getAudioDecoder()
public TuSDKVideoSurfaceDecodeDelegate getVideoDelegte()
public void setVideoDelegate(TuSDKVideoSurfaceDecodeDelegate videoDelegate)
videoDelegate - the mVideoDelegate to setpublic void setAudioPacketDelegate(TuSDKAudioPacketDelegate audioaPacketDelegate)
audioaPacketDelegate - public long getVideoDurationTimeUS()
public long getVideoDuration()
public TuSdkTimeRange getTimeRange()
public void seekTimeUs(long seekTimeUs)
seekTimeUs - public long getCurrentSampleTimeUs()
getCurrentSampleTimeUs 在接口中 TuSDKMediaDecoderInterfacegetCurrentSampleTimeUs 在类中 TuSDKMediaDecoderpublic long getComputePresentationTimeUs()
public org.lasque.tusdk.core.struct.TuSdkSize getVideoSize()
public void setLooping(boolean looping)
looping - true:循环解码public void prepare(android.view.Surface surface,
TuSdkTimeRange timeRange,
boolean isDecordMovieAudio)
timeRange - 视频文件裁剪范围(指定解码区间)isDecordMovieAudio - 是否解码音频public TuSDKMovieReader createMovieReader()
TuSDKMediaDecodercreateMovieReader 在类中 TuSDKMediaDecoderprotected void onDecoderError(TuSDKMediaDecoder.TuSDKMediaDecoderError error)
TuSDKMediaDecoderonDecoderError 在类中 TuSDKMediaDecoderprotected void onDecoderComplete()
public void start()
start 在接口中 TuSDKMediaDecoderInterfacestart 在类中 TuSDKMediaDecoderpublic void pause()
public void stop()
stop 在接口中 TuSDKMediaDecoderInterfacestop 在类中 TuSDKMediaDecoderpublic void destroy()
destroy 在接口中 TuSDKMediaDecoderInterfacedestroy 在类中 TuSDKMediaDecoderpublic float getProgress()
public void seekTo(long timeUs,
int mode)
seekTo 在类中 TuSDKMediaDecodertimeUs - 设置当前帧 单位: 微妙mode - SEEK_TO_CLOSEST_SYNC
SEEK_TO_NEXT_SYNC
SEEK_TO_PREVIOUS_SYNC