【问题标题】:How to play .wav file from another folder? Done on Visual Studio 2010 c++如何从另一个文件夹播放 .wav 文件?在 Visual Studio 2010 c++ 上完成
【发布时间】:2012-07-20 14:03:09
【问题描述】:

我正在做一个需要用户输入语音的项目。

例如,th。然后程序将播放产生th声音的波形文件。 由于音标有许多不同的波形文件,我决定将它们分组到单独的文件中,这意味着它不会在 .exe 目录的同一个文件夹中。在这种情况下,如何播放来自另一个文件的声音?

这是我认为可以工作但没有成功的部分..请帮助我!

FILENAME1 = strcat(text_data, ".wav");
FILENAME2 = strcat("wav" ,FILENAME1);
printf ("%s", FILENAME2);
PlaySound(TEXT(FILENAME2), NULL, SND_SYNC);

text_data 包含用户键入的内容。例如“th”。并且应用程序播放 th.wav 文件是否可以从另一个文件夹播放它?这样我就可以将各种 wav 文件分组。

然后会是这样的:;

Debug(包含.exe文件)-->辅音--> th.wav(这是我想玩的但不会和.exe文件在同一个目录下。

请帮助我。非常感谢!

【问题讨论】:

    标签: visual-studio-2010 wav playsound


    【解决方案1】:

    您需要提供完整的路径。例如,如果文件位于 Debug\Sounds\SomeSound.wav 中,则必须提供 Sounds\SomeSound.wav 作为路径。

    编辑:您可以使用“+”运算符连接多个字符串。它应该看起来像:

    "Folder_Name\\" + text_data + ".wav"
    

    您还可以查看 std::stringstream 来完成这项工作。

    【讨论】:

    • hmmm,如何在代码中包含完整路径?我不知道如何将它们包含在上面的代码中。
    • 除了将“.wav”添加到 text_data 之外,您还需要在文本之前添加目录名称。
    • 你的意思是这样的吗? FILENAME1 = strcat(\Debug\Sounds\,text_data, ".wav");请原谅我,因为我刚开始学习编程谢谢!
    • FILENAME1 = strcat(text_data, ".wav"); FILENAME2 = strcat("辅音\\" ,FILENAME1); printf ("%s", 文件名2); PlaySound(TEXT(FILENAME2), NULL, SND_SYNC);我试过这样做。但是当我运行 .exe 文件时,它说有错误,但我可以编译它。上面的代码正确吗?
    • 这是一个弹出窗口,提示我的程序已停止工作,windows 正在检查解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    • 2017-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多