我正在尝试播放另一个音频。情况是这样的:
我播放一个正弦波并等到它停止 - 直到回调返回 PaComplete。之后,我等待一段时间,然后播放新的一波——这是教程中的伪代码:
err = Pa_OpenDefaultStream( &stream,
0, /* no input channels */
2, /* stereo output */
paFloat32, /* 32 bit floating point output */
SAMPLE_RATE,
256, /* frames per buffer */
patestCallback,
&data );
if( err != paNoError ) goto error;
err = Pa_StartStream( stream );
if( err != paNoError ) goto error;
while( Pa_Active() );
err = Pa_StopStream( stream );
if( err != paNoError ) goto error;
err = Pa_CloseStream( stream );
if( err != paNoError ) goto error;
err = Pa_OpenDefaultStream( &stream,
0, /* no input channels */
2, /* stereo output */
paFloat32, /* 32 bit floating point output */
SAMPLE_RATE,
256, /* frames per buffer */
patestCallback,
&data );
if( err != paNoError ) goto error;
err = Pa_StartStream( stream );
if( err != paNoError ) goto error;
while( Pa_Active() );
err = Pa_StopStream( stream );
if( err != paNoError ) goto error;
err = Pa_CloseStream( stream );
if( err != paNoError ) goto error;
如您所见,我只是复制了代码,但是当我尝试播放时,没有为第二波生成声音,而且,如果我调用 Pa_getErrorText,它总是显示“成功”。谁能帮我这个。
PS。那是带有复制代码的锯齿教程。然而,我使用的波是不同的。