mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/trunk@189 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
 | 
						|
<html>
 | 
						|
<head>
 | 
						|
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 | 
						|
   <meta name="GENERATOR" content="Mozilla/4.73 [en]C-gatewaynet  (Win98; U) [Netscape]">
 | 
						|
   <meta name="Author" content="Phil Burk">
 | 
						|
   <meta name="Description" content="Tutorial for PortAudio, a cross platform, open-source, audio I/O library.It provides a very simple API for recording and/or playing sound using a simple callback function.">
 | 
						|
   <meta name="KeyWords" content="audio, tutorial, library, portable, open-source, DirectSound,sound, music, JSyn, synthesis,">
 | 
						|
   <title>PortAudio Tutorial</title>
 | 
						|
</head>
 | 
						|
<body>
 | 
						|
 
 | 
						|
<center><table COLS=1 WIDTH="100%" BGCOLOR="#FADA7A" >
 | 
						|
<tr>
 | 
						|
<td>
 | 
						|
<center>
 | 
						|
<h1>
 | 
						|
PortAudio Tutorial</h1></center>
 | 
						|
</td>
 | 
						|
</tr>
 | 
						|
</table></center>
 | 
						|
 | 
						|
<h2>
 | 
						|
Starting and Stopping a Stream</h2>
 | 
						|
 | 
						|
<blockquote>The stream will not start running until you call Pa_StartStream().
 | 
						|
Then it will start calling your callback function to perform the audio
 | 
						|
processing.
 | 
						|
<blockquote>
 | 
						|
<pre>err = Pa_StartStream( stream );
 | 
						|
if( err != paNoError ) goto error;</pre>
 | 
						|
</blockquote>
 | 
						|
At this point, audio is being generated. You can communicate to your callback
 | 
						|
routine through the data structure you passed in on the open call, or through
 | 
						|
global variables, or using other interprocess communication techniques.
 | 
						|
Please be aware that your callback function may be called at interrupt
 | 
						|
time when your foreground process is least expecting it. So avoid sharing
 | 
						|
complex data structures that are easily corrupted like double linked lists.
 | 
						|
<p>In many of the tests we simply sleep for a few seconds so we can hear
 | 
						|
the sound. This is easy to do with Pa_Sleep() which will sleep for some
 | 
						|
number of milliseconds. Do not rely on this function for accurate scheduling.
 | 
						|
it is mostly for writing examples.
 | 
						|
<blockquote>
 | 
						|
<pre>/* Sleep for several seconds. */
 | 
						|
Pa_Sleep(NUM_SECONDS*1000);</pre>
 | 
						|
</blockquote>
 | 
						|
When you are through, you can stop the stream from the foreground.
 | 
						|
<blockquote>
 | 
						|
<pre>err = Pa_StopStream( stream );
 | 
						|
if( err != paNoError ) goto error;</pre>
 | 
						|
</blockquote>
 | 
						|
You can also stop the stream by returning 1 from your custom callback function.</blockquote>
 | 
						|
<font size=+2><a href="http://www.portaudio.com/">home</a> | <a href="pa_tutorial.html">contents</a>
 | 
						|
| <a href="pa_tut_open.html">previous</a> |  <a href="pa_tut_term.html">next</a></font>
 | 
						|
</body>
 | 
						|
</html>
 |