public class TuSDKMovieFrameDecoder extends TuSDKMediaDecoder
| 限定符和类型 | 类和说明 |
|---|---|
static class |
TuSDKMovieFrameDecoder.TuSDKMovieDecoderError
解码器错误信息
|
TuSDKMediaDecoder.TuSDKMediaDecoderError| 限定符和类型 | 字段和说明 |
|---|---|
static int |
COLOR_FormatI420 |
static int |
COLOR_FormatNV21 |
static int |
INVALID_SEEKTIME_FLAG
标记是否需要 seek to
|
static int |
TIMEOUT_USEC
解码等待时间
|
INVALID_TRACK_FLAG, mAudioDecoder, mDataSource, mMovieReader, mVideoDecoder, TIME_US_BASE| 构造器和说明 |
|---|
TuSDKMovieFrameDecoder(TuSDKMediaDataSource videoDataSource) |
| 限定符和类型 | 方法和说明 |
|---|---|
TuSDKMovieReader |
createMovieReader()
初始化MediaExtractor 用于读取音视频信息
|
void |
destroy()
销毁释放视频解码器 (可运行在任意线程)
|
android.media.MediaCodec |
getAudioDecoder()
音频解码器
|
long |
getCurrentSampleTimeUs()
获取当前位置
|
float |
getProgress()
获取解码进度
|
TuSdkTimeRange |
getTimeRange()
获取文件裁剪时间范围
|
android.media.MediaCodec |
getVideoDecoder()
视频解码器
|
TuSDKVideoFrameDecodeDelegate |
getVideoDelegate() |
long |
getVideoDuration()
获取视频持续时长 单位:s
|
long |
getVideoDurationTimeUS()
获取视频原始时长 单位:ms
|
TuSDKVideoInfo |
getVideoInfo()
获取视频信息
|
org.lasque.tusdk.core.struct.TuSdkSize |
getVideoSize()
获取视频原始尺寸
|
protected void |
onDecoderComplete()
解码完成
|
protected void |
onDecoderError(TuSDKMediaDecoder.TuSDKMediaDecoderError error)
遇到错误
|
protected void |
onVideoDecoderNewFrameAvailable(int bufferIndex,
android.media.MediaCodec.BufferInfo bufferInfo)
解码得到帧数据
|
void |
pause()
暂停解码
|
void |
prepare(TuSdkTimeRange timeRange,
boolean isDecordMovieAudio)
准备开始解码视频
|
void |
seekTimeUs(long seekTimeUs)
设置播放起始播放时间
|
void |
seekTo(long timeUs,
int mode)
指定播放的位置
|
void |
setAudioPacketDelegate(TuSDKAudioPacketDelegate audioaPacketDelegate)
音频数据包(未解码数据)
|
void |
setLooping(boolean looping)
是否循环解码(可实现视频循环播放)
|
void |
setVideoDelegate(TuSDKVideoFrameDecodeDelegate videoDelegate) |
void |
start()
启动视频解码 (可运行在任意线程)
|
void |
stop()
停止视频解码器 (可运行在任意线程)
|
createAudioDecoder, createMediaDecoder, createVideoDecoder, destroyMediaReader, findAudioTrack, findVideoTrack, getAudioTrackFormat, getMediaReader, getVideoFrameIntervalTimeUs, getVideoTrackFormat, seekTo, selectAudioTrack, selectVideoTrack, unselectAudioTrack, unselectVideoTrackpublic static final int COLOR_FormatI420
public static final int COLOR_FormatNV21
public static final int TIMEOUT_USEC
public static final int INVALID_SEEKTIME_FLAG
public TuSDKMovieFrameDecoder(TuSDKMediaDataSource videoDataSource)
public TuSDKVideoInfo getVideoInfo()
public android.media.MediaCodec getVideoDecoder()
public android.media.MediaCodec getAudioDecoder()
public TuSDKVideoFrameDecodeDelegate getVideoDelegate()
public void setVideoDelegate(TuSDKVideoFrameDecodeDelegate 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 org.lasque.tusdk.core.struct.TuSdkSize getVideoSize()
public void setLooping(boolean looping)
looping - true:循环解码public void prepare(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_SYNCprotected void onVideoDecoderNewFrameAvailable(int bufferIndex,
android.media.MediaCodec.BufferInfo bufferInfo)
bufferIndex - 数据缓冲区索引bufferInfo - 数据新