Пример #1
0
 public WaveOutPlayer(int device, WaveFormat format, int bufferSize, int bufferCount, BufferFillEventHandler fillProc)
 {
     zero = format.wBitsPerSample == 8 ? (byte)128 : (byte)0;
     this.fillProc = fillProc;
     WaveOutHelper.Try(Winmm.waveOutOpen(out waveOut, device, format, bufferProc, 0, Winmm.CALLBACK_FUNCTION));
     AllocateBuffers(bufferSize, bufferCount);
     playThread = new Thread(ThreadProc);
     playThread.Start();
 }
Пример #2
0
 public WaveInRecorder(int device, WaveFormat format, int bufferSize, int bufferCount, BufferDoneEventHandler doneProc)
 {
     this.doneProc = doneProc;
     WaveInHelper.Try(Winmm.waveInOpen(out waveIn, device, format, bufferProc, 0, Winmm.CALLBACK_FUNCTION));
     AllocateBuffers(bufferSize, bufferCount);
     for (var i = 0; i < bufferCount; i++)
     {
         SelectNextBuffer();
         currentBuffer.Record();
     }
     WaveInHelper.Try(Winmm.waveInStart(waveIn));
     recordingThread = new Thread(ThreadProc);
     recordingThread.Start();
 }
Пример #3
0
 public static extern int waveOutOpen(out IntPtr hWaveOut, int uDeviceID, WaveFormat lpFormat, WaveDelegate dwCallback, int dwInstance, int dwFlags);