Ejemplo n.º 1
0
 public Record(IVideoEncoder videoEncoder, IAacEncoder aacEncoder)
 {
     State   = RecAndLiveState.NotStart;
     _handle = VsNetRecordSdk.FileMuxer_AllocInstance();
     VsNetRecordSdk.FileMuxer_EnableSync(_handle, true);
     _videoEncoder = videoEncoder;
     _aacEncoder   = aacEncoder;
 }
Ejemplo n.º 2
0
 public bool ResumeRecord()
 {
     if (VsNetRecordSdk.FileMuxer_Resume(_handle) == 0)
     {
         State = RecAndLiveState.Started;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 3
0
 public bool PauseRecord()
 {
     if (VsNetRecordSdk.FileMuxer_Pause(_handle) == 0)
     {
         State = RecAndLiveState.Pause;
         return(true);
     }
     return(false);
 }
Ejemplo n.º 4
0
 protected virtual void Dispose(bool disposing)
 {
     if (!disposedValue)
     {
         if (disposing)
         {
         }
         VsNetRecordSdk.FileMuxer_FreeInstance(_handle);
         disposedValue = true;
     }
 }
Ejemplo n.º 5
0
        public bool StopRecord()
        {
            if (!IsRecord)
            {
                return(true);
            }


            _videoEncoder.PushingData -= VideoEncoderPushingData;
            _aacEncoder.PushingData   -= AACEncoderPushingData;
            _videoEncoder.StopVideoEncoder();
            _aacEncoder.StopAudioEncoder();
            if (VsNetRecordSdk.FileMuxer_EndWrite(_handle) == 0)
            {
                State    = RecAndLiveState.NotStart;
                IsRecord = false;
                return(true);
            }
            return(false);
        }
Ejemplo n.º 6
0
 private void VideoEncoderPushingData(VideoEncodedDataContext value)
 {
     VsNetRecordSdk.FileMuxer_WriteVideo(_handle, value.Data, value.DataLength, value.KeyFrame, value.TimeStamp);
 }
Ejemplo n.º 7
0
 private void AACEncoderPushingData(AudioEncodedDataContext value)
 {
     VsNetRecordSdk.FileMuxer_WriteAudio(_handle, value.Data.ToInt32(), value.DataLength, value.KeyFrame);
 }
Ejemplo n.º 8
0
 private bool SetRecordInfo(string fileSavePath)
 {
     return(VsNetRecordSdk.FileMuxer_BeginWrite(_handle, fileSavePath, _videoEncoder.IntBitmapInfoHeader, Marshal.SizeOf(new BitmapInfoHeader()), _aacEncoder.IntWaveFormatEx, 2) == 0);
 }