public class TuSdkAudioEncodecOperationImpl extends java.lang.Object implements TuSdkAudioEncodecOperation
构造器和说明 |
---|
TuSdkAudioEncodecOperationImpl(TuSdkCodecOutput.TuSdkEncodecOutput encodecOutput)
视频编码输出Surface接口
|
限定符和类型 | 方法和说明 |
---|---|
void |
autoFillMuteData(long startTimeUs,
long endTimeUs,
boolean isEos)
自动填充编码前静音数据
|
void |
autoFillMuteDataWithinEnd(long startTimeUs,
long endTimeUs)
自动填充静音数据 [不超过结束时间]
endTimeUs - AudioInterval
|
void |
encodecException(java.lang.Exception e)
捕捉到执行异常 宿主线程将自动退出并清理
|
boolean |
encodecInit(TuSdkMediaMuxer mediaMuxer)
初始化编码器 (该操作在合成器线程)
|
boolean |
encodecProcessUntilEnd(TuSdkMediaMuxer mediaMuxer)
执行编码直到完成 (该操作在合成器线程)
|
void |
encodecRelease()
Free up resources used by the codec instance.
|
protected void |
finalize() |
void |
flush() |
TuSdkAudioInfo |
getAudioInfo()
音频信息
|
boolean |
isEncodecStarted()
是否已启动音频编码器
|
void |
setAudioRender(TuSdkAudioRender audioRender)
音频渲染接口
|
int |
setMediaFormat(android.media.MediaFormat mediaFormat)
设置媒体格式信息
一旦设定后将创建编码器对象并进行configer以及创建输入Surface
补丁必须在setMediaFormat之前设置
|
void |
signalEndOfInputStream(long timeUs)
Signals end-of-stream on input.
|
int |
writeBuffer(java.nio.ByteBuffer buffer,
android.media.MediaCodec.BufferInfo bufferInfo)
写入媒体Buffer
|
public TuSdkAudioEncodecOperationImpl(TuSdkCodecOutput.TuSdkEncodecOutput encodecOutput)
public TuSdkAudioInfo getAudioInfo()
getAudioInfo
在接口中 TuSdkAudioEncodecOperation
public void setAudioRender(TuSdkAudioRender audioRender)
setAudioRender
在接口中 TuSdkAudioEncodecOperation
public int setMediaFormat(android.media.MediaFormat mediaFormat)
mediaFormat
- 媒体格式信息public void encodecRelease()
Make sure you call this when you're done to free up any opened component instance instead of relying on the garbage collector to do this for you at some point in the future.
encodecRelease
在接口中 TuSdkEncodecOperation
protected void finalize() throws java.lang.Throwable
finalize
在类中 java.lang.Object
java.lang.Throwable
public void encodecException(java.lang.Exception e)
encodecException
在接口中 TuSdkEncodecOperation
e
- 异常信息public void flush()
flush
在接口中 TuSdkEncodecOperation
public boolean isEncodecStarted()
isEncodecStarted
在接口中 TuSdkEncodecOperation
public boolean encodecInit(TuSdkMediaMuxer mediaMuxer)
encodecInit
在接口中 TuSdkEncodecOperation
mediaMuxer
- 系统合成器public boolean encodecProcessUntilEnd(TuSdkMediaMuxer mediaMuxer)
encodecProcessUntilEnd
在接口中 TuSdkEncodecOperation
mediaMuxer
- 系统合成器public int writeBuffer(java.nio.ByteBuffer buffer, android.media.MediaCodec.BufferInfo bufferInfo)
writeBuffer
在接口中 TuSdkAudioEncodecOperation
buffer
- 媒体缓存bufferInfo
- 缓存信息public void signalEndOfInputStream(long timeUs)
PS:使用buffer写入时必须要写正确的结束时间,否则造成视频编码错误,奔溃或无法拖动
signalEndOfInputStream
在接口中 TuSdkAudioEncodecOperation
timeUs
- 结束时间戳 [微秒]public void autoFillMuteData(long startTimeUs, long endTimeUs, boolean isEos)
autoFillMuteData
在接口中 TuSdkAudioEncodecOperation
startTimeUs
- 开始时间 [微秒]endTimeUs
- 结束时间 [微秒]isEos
- 是否为结尾 [如果为结尾将自动使用结束时间结束编码]public void autoFillMuteDataWithinEnd(long startTimeUs, long endTimeUs)
autoFillMuteDataWithinEnd
在接口中 TuSdkAudioEncodecOperation
startTimeUs
- 开始时间endTimeUs
- 结束时间