From f44483cc73ce2a36229c3f904c4230243a181e51 Mon Sep 17 00:00:00 2001 From: Gary Scavone Date: Fri, 11 Oct 2013 01:56:49 +0200 Subject: Release 4.0.5 tarball --- doc/html/recording.html | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'doc/html/recording.html') diff --git a/doc/html/recording.html b/doc/html/recording.html index f462aa5..c7772bf 100644 --- a/doc/html/recording.html +++ b/doc/html/recording.html @@ -8,13 +8,16 @@
Home   Class/Enum List   File List   Compound Members  

- -

Recording

Using RtAudio for audio input is almost identical to the way it is used for playback. Here's the blocking playback example rewritten for recording:

+ +

+

Recording

Using RtAudio for audio input is almost identical to the way it is used for playback. Here's the blocking playback example rewritten for recording:

#include "RtAudio.h"
 #include <iostream>
+#include <cstdlib>
+#include <cstring>
 
 int record( void *outputBuffer, void *inputBuffer, unsigned int nBufferFrames,
-         double streamTime, RtAudioStreamStatus status, void *userData )
+         double streamTime, RtAudioStreamStatus status, void *userData )
 {
   if ( status )
     std::cout << "Stream overflow detected!" << std::endl;
@@ -26,26 +29,26 @@
 
 int main()
 {
-  RtAudio adc;
-  if ( adc.getDeviceCount() < 1 ) {
+  RtAudio adc;
+  if ( adc.getDeviceCount() < 1 ) {
     std::cout << "\nNo audio devices found!\n";
     exit( 0 );
   }
 
-  RtAudio::StreamParameters parameters;
-  parameters.deviceId = adc.getDefaultInputDevice();
-  parameters.nChannels = 2;
-  parameters.firstChannel = 0;
+  RtAudio::StreamParameters parameters;
+  parameters.deviceId = adc.getDefaultInputDevice();
+  parameters.nChannels = 2;
+  parameters.firstChannel = 0;
   unsigned int sampleRate = 44100;
   unsigned int bufferFrames = 256; // 256 sample frames
 
   try {
-    adc.openStream( NULL, &parameters, RTAUDIO_SINT16,
+    adc.openStream( NULL, &parameters, RTAUDIO_SINT16,
                     sampleRate, &bufferFrames, &record );
-    adc.startStream();
+    adc.startStream();
   }
-  catch ( RtError& e ) {
-    e.printMessage();
+  catch ( RtError& e ) {
+    e.printMessage();
     exit( 0 );
   }
   
@@ -55,21 +58,22 @@
 
   try {
     // Stop the stream
-    adc.stopStream();
+    adc.stopStream();
   }
-  catch (RtError& e) {
-    e.printMessage();
+  catch (RtError& e) {
+    e.printMessage();
   }
 
-  if ( adc.isStreamOpen() ) adc.closeStream();
+  if ( adc.isStreamOpen() ) adc.closeStream();
 
   return 0;
 }
 

-In this example, we pass the address of the stream parameter structure as the second argument of the RtAudio::openStream() function and pass a NULL value for the output stream parameters. In this example, the record() callback function performs no specific operations.


+In this example, we pass the address of the stream parameter structure as the second argument of the RtAudio::openStream() function and pass a NULL value for the output stream parameters. In this example, the record() callback function performs no specific operations.
+
- +
©2001-2008 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
©2001-2009 Gary P. Scavone, McGill University. All Rights Reserved.
Maintained by Gary P. Scavone.
-- cgit v1.2.3