如何在c+中使用循环中的变频发声+;? 我做了一个在Turbo C++中工作得很好的程序。它发出一种吱吱的声音,因为频率变化很快 #include<dos.> void main() { for( int i=500 ; i<=2000 ; i++ ) { sound( i ) ; } nosound() ; } #包括 void main() { 对于(int i=500;i

如何在c+中使用循环中的变频发声+;? 我做了一个在Turbo C++中工作得很好的程序。它发出一种吱吱的声音,因为频率变化很快 #include<dos.> void main() { for( int i=500 ; i<=2000 ; i++ ) { sound( i ) ; } nosound() ; } #包括 void main() { 对于(int i=500;i,c++,winapi,audio,codeblocks,turbo-c++,C++,Winapi,Audio,Codeblocks,Turbo C++,的第二个参数是声音的持续时间,以毫秒为单位,请尝试将其设置得稍大一些,例如Beep(i,100) >使声音更清晰。用C++播放音频将使API变得更为可贵。对于Windows,你可以尝试WASAPI、端口音频或OpenAL。这是一个不平凡的任务。在Windows上是波形/波你最好的选择,它不难用,而且延迟很低……你给它提供音频缓冲区,所以你需要“渲染”。您将声音发送到阵列中,并将其发送到WAVEOUT,不断查看如何生成。在MSDOS中,您可以直接使用扬声器IO端口或使用PIT。启动声音和结束声音需

的第二个参数是声音的持续时间,以毫秒为单位,请尝试将其设置得稍大一些,例如
Beep(i,100)

>使声音更清晰。用C++播放音频将使API变得更为可贵。对于Windows,你可以尝试WASAPI、端口音频或OpenAL。这是一个不平凡的任务。在Windows上是波形/波你最好的选择,它不难用,而且延迟很低……你给它提供音频缓冲区,所以你需要“渲染”。您将声音发送到阵列中,并将其发送到WAVEOUT,不断查看如何生成。在MSDOS中,您可以直接使用扬声器IO端口或使用PIT。启动声音和结束声音需要一些时间,这会造成声音的小中断,也会减慢执行速度。它不像第一种情况那样平滑。您可以使用,尝试写入数据和将此数据块发送到给定的波形音频输出设备。以下是一个您可以参考的示例。
#include<windows.h>
int main()
{
    for( int i=500 ; i<=2000 ; i++ )
    {
        Beep( i, 1 ) ;
    }
    return 0 ;
}