1

我正在尝试播放另一个音频。情况是这样的:

我播放一个正弦波并等到它停止 - 直到回调返回 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。那是带有复制代码的锯齿教程。然而,我使用的波是不同的。

4

0 回答 0