【发布时间】:2023-03-11 18:44:01
【问题描述】:
我正在尝试使用此处提到的 Windows 的 PlaySound 功能:https://msdn.microsoft.com/en-us/library/windows/desktop/dd743680(v=vs.85).aspx
但是,我尝试任何方法都无法改变它播放默认声音“SystemAsterisk”。
我尝试过同时使用 C++ 和 Python 并得到相同的结果:
C++:
#include "stdafx.h"
#include <Windows.h>
#include <playsoundapi.h>
int main()
{
PlaySound(TEXT("SystemWelcome"), NULL, SND_ALIAS);
PlaySound(TEXT("C:\Users\Me\Downloads\sound1.wav"), NULL, SND_FILENAME);
return 0;
}
以上两次尝试播放不同的声音仍会返回默认的 Asterisk 声音。
Python:
#!/usr/bin/python
import winsound
winsound.PlaySound("c:/Users/Me/Downloads/sound1.wav", winsound.SYN_ASYNC|winsound.SYN_FILENAME)
再次,我得到了相同的结果。
对正在发生的事情有任何想法吗?也许这是 Windows 10 的问题?
【问题讨论】:
-
在您的 c++ 版本中,您需要转义反斜杠:
C:\\Users\\Me\\Downloads\\sound1.wav -
Python 代码的问题可能是 SYN_ASYNC 标志。
标签: python c++ audio windows-10 playsound