IRecorder.RecorderCallback| Modifier and Type | Field and Description |
|---|---|
static long |
CHECK_INTERVAL |
protected Encoder |
mAudioEncoder |
protected IMuxer |
mMuxer |
protected long |
mStartTime |
protected Encoder |
mVideoEncoder |
STATE_INITIALIZED, STATE_PREPARED, STATE_STARTED, STATE_STARTING, STATE_STOPPING, STATE_UNINITIALIZED| Constructor and Description |
|---|
Recorder(IRecorder.RecorderCallback callback)
コンストラクタ
|
| Modifier and Type | Method and Description |
|---|---|
void |
addEncoder(Encoder encoder)
Encoderを登録する
Encoderの下位クラスのコンストラクタから呼び出される
同じRecorderに対して映像用・音声用をそれぞれ最大1つしか設定できない
|
int |
addTrack(Encoder encoder,
android.media.MediaFormat format)
音声または動画トラックの登録処理
MediaEncoderのdrain内から呼び出される
|
protected void |
callOnError(java.lang.Exception e) |
protected void |
callOnPrepared() |
protected void |
callOnStarted() |
protected void |
callOnStopped() |
protected abstract boolean |
check()
空き容量等のチェック処理の実体
|
void |
frameAvailableSoon() |
Encoder |
getAudioEncoder() |
android.view.Surface |
getInputSurface() |
IMuxer |
getMuxer() |
int |
getState() |
Encoder |
getVideoEncoder() |
boolean |
isReady()
エンコーダーの初期化が終わって書き込み可能になったかどうかを返す
|
boolean |
isStarted()
Muxerが出力開始しているかどうかを返す
|
boolean |
isStopped()
終了したかどうかを返す
|
boolean |
isStopping()
終了処理中かどうかを返す
|
void |
prepare()
デバッグ用にいつ破棄されるかを確認したいだけ
|
void |
release()
関連するリソースを開放する
|
void |
removeEncoder(Encoder encoder)
Encoderの登録を解除する
Encoderの下位クラスから呼び出される
|
void |
setMuxer(IMuxer muxer)
キャプチャ終了
|
boolean |
start(Encoder encoder)
Muxerを開始する。
|
void |
startRecording()
キャプチャ開始要求
割り当てられているEncoderの下位クラスのインスタンスの#startRecordingを呼び出す
|
void |
stop(Encoder encoder)
Muxerを停止させる。
|
void |
stopRecording()
キャプチャ終了要求
割り当てられているEncoderの下位クラスの#stopRecordingを呼び出す
|
void |
writeSampleData(int trackIndex,
java.nio.ByteBuffer byteBuf,
android.media.MediaCodec.BufferInfo bufferInfo)
エンコード済みのバッファからmuxerへデータを書き込む
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetOutputPathpublic static final long CHECK_INTERVAL
protected IMuxer mMuxer
protected Encoder mVideoEncoder
protected Encoder mAudioEncoder
protected long mStartTime
public Recorder(IRecorder.RecorderCallback callback)
public void startRecording()
throws java.lang.IllegalStateException
IRecorderstartRecording in interface IRecorderjava.lang.IllegalStateExceptionpublic void stopRecording()
IRecorderstopRecording in interface IRecorderpublic android.view.Surface getInputSurface()
getInputSurface in interface IRecorderpublic Encoder getVideoEncoder()
getVideoEncoder in interface IRecorderpublic Encoder getAudioEncoder()
getAudioEncoder in interface IRecorderpublic boolean isStarted()
IRecorderpublic boolean isReady()
IRecorderpublic boolean isStopping()
IRecorderisStopping in interface IRecorderpublic boolean isStopped()
IRecorderpublic void frameAvailableSoon()
frameAvailableSoon in interface IRecorderpublic void release()
IRecorderpublic void addEncoder(Encoder encoder)
addEncoder in interface IRecorderencoder - public void removeEncoder(Encoder encoder)
removeEncoder in interface IRecorderencoder - public boolean start(Encoder encoder)
public void stop(Encoder encoder)
public int addTrack(Encoder encoder, android.media.MediaFormat format)
public void writeSampleData(int trackIndex,
java.nio.ByteBuffer byteBuf,
android.media.MediaCodec.BufferInfo bufferInfo)
writeSampleData in interface IRecordertrackIndex - byteBuf - bufferInfo - protected void callOnPrepared()
protected void callOnStarted()
protected void callOnStopped()
protected void callOnError(java.lang.Exception e)
protected abstract boolean check()