- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
所以我正在尝试制作一个简单的 DLL 来在另一个程序中播放声音。我正在尝试使用 playsound 功能,并且已对其进行设置,但是当我在其他程序中运行它时,我会听到默认的蜂鸣声。这是我的代码。
export double sound_manage(const char* file_old,double handler)
{
/*
Handler values:
0 - Play sound
1 - Loop sound
2 - Stop sound
*/
bool good;
double ret;
double op;
if (handler == 0) op = SND_ASYNC;
if (handler == 1) op = SND_LOOP;
if (handler == 2) op = SND_PURGE;
LPCTSTR file;
file = LPCTSTR(file_old);
good = PlaySound(file,NULL,op);
ret = double(good);
return ret;
}
我在链接器中包含了 winmib 或其他任何东西,但我不知道发生了什么。
非常感谢任何帮助!
最佳答案
documentation包括以下内容:
Three flags in fdwSound (SND_ALIAS, SND_FILENAME, and SND_RESOURCE) determine whether the name is interpreted as an alias for a system event, a file name, or a resource identifier. If none of these flags are specified, PlaySound searches the registry or the WIN.INI file for an association with the specified sound name.
所以如果你想播放磁盘上的文件,你必须包含SND_FILENAME
标志,例如:
if (handler == 0) op = SND_ASYNC | SND_FILENAME;
if (handler == 1) op = SND_LOOP | SND_ASYNC | SND_FILENAME;
别的,这一行可能是错误的:
file = LPCTSTR(file_old);
如果您不使用 Unicode 进行编译,file_old
与 file
兼容,因此您无需转换。如果您使用 Unicode 进行编译,类型转换是不够的。
关于c++ - 声音不适用于 PlaySound,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26444916/
我一直在寻找一页以上的Google搜索结果,试图解决此问题。 我正在尝试使PlaySound()函数正常工作,但我终生无法实现。 这是我的完整代码: #include #include using
第一个问题,对不起,如果我没有做正确的事情:S。我正在尝试在控制台窗口中创建的游戏播放时循环播放背景音轨。这是小组项目的一部分。游戏运行正常,但我无法使用PlaySound()函数来播放音轨。这是我尝
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
我对如何将 PlaySound() 与资源文件一起使用感到有点困惑,因为阅读此处并测试所有内容,我无法在控制台提示符 u_u 中获取 wav 文件声音。所以,如果你能帮助我,我将非常感激。$ #inc
我正在用 C 编写一个函数来播放 wav 文件。我可以播放一次声音,但我想添加一个循环选项。 我有两种工作模式: play from file name play from memory. 在两种模式
对于我的游戏,我将 Windows API 中的 PlaySound 函数用于我的音乐和声音。但是,当我在播放音乐时尝试播放声音时,音乐会停止,我只能听到声音。 我的音乐是这样播放的: PlaySou
我的程序中有以下代码: self["text"]="✖" self["bg"]="red" self["relief"] = SUNKEN self
我想就有关音乐操作的应用程序提出一个问题:我用函数 PlaySound() 编译了一个程序,但显示了以下消息:[Linker error] undefined reference到“PlaySound
我有一个俄罗斯方 block 游戏,我想给它添加背景音乐。我正在尝试使用 PlaySound(TEXT("Tetris.wav"), NULL, SND_SYNC);但是我得到的不是音乐,而是“win
我正在尝试使用 PlaySound(); C++中的函数。我想让用户输入他们想播放的文件。但是当我把变量放在 PlaySound();它给了我一个错误。这是代码, #include #include
所以我正在尝试制作一个简单的 DLL 来在另一个程序中播放声音。我正在尝试使用 playsound 功能,并且已对其进行设置,但是当我在其他程序中运行它时,我会听到默认的蜂鸣声。这是我的代码。 exp
编辑所以代码是正确的(感谢 ta.speot.is) - 底部的新问题 所以我一直在玩这个级别的控制台,我们被要求制作我们的第一个“项目”进行评估。我已经完成了基本的应用程序.. 但我想稍微提高一下并
基本上我想使用 PlaySound() ctypes 中的函数。 Yes I know winsound module is built on it and I could use that, but
我有一个 C++ Win32 应用程序,它需要能够在每次触发特定事件时播放外部 .wav 文件。我目前的代码如下所示: void CALLBACK timerCall(HWND hwnd, UINT
我的设备 WinCE 5.0 有问题。我需要从资源播放声音。 BOOL PlayResource (int lpName) { BOOL bRtn; LPTSTR lpRes; HANDL
winsound.PlaySound('1.wav', winsound.SND_FILENAME) time.sleep(0.15) winsound.PlaySound('1.wav', wins
我正在编写一个 C++ Windows 应用程序,它需要播放从数组中随机选择的歌曲,并且用户需要能够通过单击按钮播放列表中的另一首歌曲。你会如何停止第一首歌曲的声音来播放第二首歌曲? 按下我播放第一首
编辑:已解决。 Windows 不接受 .wav 文件。我提取了一个 Windows 自己的文件并将其重命名为我以前的文件的名称,并且播放没有问题。 我不知道为什么这不能播放现有文件。 Windows
我一直在测试声音,我注意到 PlaySound 是阻塞的,即它会等到声音播放完毕才返回。 #include #include #include int main() { PlaySoun
我在当前目录中使用 PlaySound() 函数播放声音时遇到问题。在以下情况下,我收到系统蜂鸣声而不是我的原始文件声音,除了第一个我有整个目录的声音。 这个很完美: PlaySound(TEXT("
我是一名优秀的程序员,十分优秀!