使用 Qt 播放特定的系统声音
Posted
技术标签:
【中文标题】使用 Qt 播放特定的系统声音【英文标题】:Playing specific system sound with Qt 【发布时间】:2013-01-01 12:43:10 【问题描述】:我希望我的应用程序发出标准的通知声音,在 Windows 上称为“默认哔声”。我没有看到用 QSound 引用系统声音的方法。没有分配声音的 QSound 实例用于播放此声音,但在 Qt 5 中已修复。有什么办法吗?
如果该解决方案仅适用于 Windows 也可以(但我希望它可以在任何受支持的操作系统上编译,并且不想使用 #ifdef
和 Win API)。
【问题讨论】:
【参考方案1】:使用 Phonon (http://qt-project.org/doc/qt-4.8/phonon-overview.html),一个 Qt 库,可以播放声音/视频,...
文件的路径,应该使用WINDOWS目录的环境变量,然后硬编码声音文件的路径结尾
但是:我认为这可能不是一个好主意,因为系统声音可以个性化...要获得您需要的个性化声音的路径读取 Windows 注册表...
编辑:您可以使用 QSettings
类来读取 Windows 注册表
例如:
QSettings settings("HKEY_CURRENT_USER\\AppEvents\\Schemes\Apps\\.Defaults\\..TODO..", QSettings::NativeFormat);
【讨论】:
尝试阅读两次,有点帮助:阅读部分:“播放”,甚至还有一个例子 为什么不对声音文件的路径进行硬编码呢?查看编辑后的答案 现在您的答案已经完成,但我想知道是否有更好的方法,跨平台的方法。您的解决方案甚至无法考虑当前的声音主题。 编辑了我的答案以提供实施的想法... 但是这不会容易/快速实施以上是关于使用 Qt 播放特定的系统声音的主要内容,如果未能解决你的问题,请参考以下文章