gpt4 book ai didi

c++ - C++ 控制台应用程序中的 PlaySound?

转载 作者:行者123 更新时间:2023-12-03 23:19:22 25 4
gpt4 key购买 nike

编辑所以代码是正确的(感谢 ta.speot.is) - 底部的新问题
所以我一直在玩这个级别的控制台,我们被要求制作我们的第一个“项目”进行评估。我已经完成了基本的应用程序.. 但我想稍微提高一下并添加一些声音。将从控制台播放的声音。
这个测试有效(有点),因为它会播放一个声音文件,但有两个问题......

  • 当声音开始播放时,应用程序会卡住,直到它完成播放。
  • 当我尝试编译为“发布”时,它会出现“链接错误”错误 - fatal error LNK1120: 1 unresolved externals。

  • #include <iostream>
    #include <windows.h>
    #include <mmsystem.h>
    using namespace std;

    int main(){
    //PlaySound(TEXT("mywavsound.wav"), NULL, SND_FILENAME); - My erroring code
    PlaySound(TEXT("mywavsound.wav"), NULL, SND_FILENAME | SND_ASYNC);// - the correct code

    int test = 0;
    cin>>test;
    return 0;
    }
    所以我的问题是...
  • 如何在不卡住控制台的情况下播放声音,这样我就可以
    示例在项目中播放循环音乐文件
    在跑?如果我能在上面播放其他声音也很棒
    其中,例如,当您按下回车键时,它会播放声音
    不停止音乐。
  • 如何添加 wav 文件以便将其编译为发行版?

  • 编辑
    我知道 SND_ASYNC东西,但我不知道如何使用它,如果没有东西不编译,我似乎无法使用它.. 有没有人有使用 SND_ASYNC 的代码示例?
    编辑 2
    所以我现在有这个工作....使用
    PlaySound(TEXT("mysound.wav"), NULL, SND_FILENAME | SND_ASYNC);
    现在我想知道如何才能一次播放 1 个或多个声音,因为如果我调用 PlaySound()使用该标志两次,它将停止第一个并播放第二个..有没有办法一次播放 2 个声音?

    最佳答案

    How can I play sounds without freezing the console?


    如果你用 Google 搜索 PlaySound this is the first result :

    fdwSound

    ...

    SND_ASYNC The sound is played asynchronously and PlaySound returns immediately after beginning the sound. To terminate an asynchronously played waveform sound, call PlaySound with pszSound set to NULL.


    您应该熟悉搜索引擎及其功能。

    How do I add the wav file so it compiles as a release?


    您需要链接 winmm.lib在发布和调试配置中。或者,添加
    #pragma comment(lib, "winmm.lib")
    到源代码的顶部。

    关于c++ - C++ 控制台应用程序中的 PlaySound?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961949/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com