/// <summary> /// Gets a pointer to the buffer /// </summary> /// <param name="numFramesToRead">Number of frames to read</param> /// <param name="bufferFlags">Buffer flags</param> /// <returns>Pointer to the buffer</returns> public IntPtr GetBuffer( out int numFramesToRead, out EAudioClientBufferFlags bufferFlags) { IntPtr bufferPointer; long devicePosition; long qpcPosition; Marshal.ThrowExceptionForHR(_realAudioCaptureClient.GetBuffer(out bufferPointer, out numFramesToRead, out bufferFlags, out devicePosition, out qpcPosition)); return(bufferPointer); }
/// <summary> /// Release buffer /// </summary> /// <param name="numFramesWritten">Number of frames written</param> /// <param name="bufferFlags">Buffer flags</param> public void ReleaseBuffer(int numFramesWritten, EAudioClientBufferFlags bufferFlags) { Marshal.ThrowExceptionForHR(_realAudioRenderClient.ReleaseBuffer(numFramesWritten, bufferFlags)); }