Example #1
0
 public unsafe bool startRecording()
 {
     if (captureDevice == null)
     {
         hasRecording  = true;
         captureDevice = SoundPluginInterface.Instance.SoundManager.openCaptureDevice();
         if (captureDevice.Valid)
         {
             writeStream = File.Open(tempFilePath, FileMode.Create, FileAccess.Write);
             unsafe
             {
                 captureDevice.start((byte *buffer, int length) =>
                 {
                     byte[] byteBuffer = new byte[length];
                     for (int i = 0; i < length; ++i)
                     {
                         byteBuffer[i] = buffer[i];
                     }
                     writeStream.Write(byteBuffer, 0, length);
                 });
             }
             return(true);
         }
         else
         {
             captureDevice.Dispose();
             captureDevice = null;
             return(false);
         }
     }
     return(false);
 }