SoundEffect QML 类型
SoundEffect 类型提供了一种在 QML 中播放声音效果的方法。更多...
导入声明 | import QtMultimedia |
实例化 | QSoundEffect |
属性
信号
- loadedChanged()
- loopCountChanged()
- loopsRemainingChanged()
- mutedChanged()
- playingChanged()
- sourceChanged()
- statusChanged()
- volumeChanged()
方法
详细描述
此类允许您以较低的延迟方式播放未压缩的音频文件(通常是 WAV 文件),适用于用户行为(例如虚拟键盘声音、弹出对话框的正或负反馈或游戏声音)的“反馈”类型声音。如果低延迟不是很重要,可以考虑使用 MediaPlayer 类型,因为它支持更广泛的媒体格式且资源消耗较低。
通常应该重复使用声音效果,这使得所有解析和准备都可以在需要之前进行,并且仅在必要时触发。在 QML 中很容易实现这一点,因为您可以在其他地方声明您的 SoundEffect 实例并引用它。
以下示例在鼠标点击时播放 WAV 文件。
Text { text: "Click Me!"; font.pointSize: 24; width: 150; height: 50; SoundEffect { id: playSound source: "soundeffect.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { playSound.play() } } }
由于 SoundEffect 需要略微更多的资源以实现低延迟播放,因此平台可能会限制同时播放的声音效果的数量。
属性文档
循环次数 : int |
此属性表示声音播放的次数。0 或 1 的值表示声音将只播放一次;设置为 SoundEffect.Infinite 以启用无限循环。
在声音效果播放时可以更改此值,在这种情况下,它将更新剩余循环到新值。
剩余循环次数 : int |
该属性包含在音效自行停止前剩余的循环次数,或者SoundEffect。如果已在loops中设置,则为无限。
playing : bool |
此属性表示音效是否正在播放。
source : url |
该属性保存要播放的音频的URL。为了SoundEffect尝试加载源,URL必须存在,并且应用程序必须具有指定目录的读取权限。如果所需源是本地文件,可以使用绝对或相对(相对于声明了SoundEffect的文件)路径。
status : 枚举 |
此属性表示SoundEffect的当前状态,如下所示。
值 | 描述 |
---|---|
SoundEffect.Null | 未设置源或源为null。 |
SoundEffect.Loading | SoundEffect正在尝试加载源。 |
SoundEffect.Ready | 源已加载并准备播放。 |
SoundEffect.Error | 在操作过程中发生了错误,例如加载源失败。 |
volume : qreal |
该属性保存音效播放的音量。
音量从0.0
(静音)线性缩放到1.0
(全音量)。范围之外的值将被限制。
默认音量是1.0
。
UI音量控制通常应按非线性缩放。例如,使用对数刻度将产生感知响度的线性变化,这是用户从音量控制中通常会期望得到的。有关详细信息,请参阅convertVolume()。
信号文档
loadedChanged() |
当加载状态改变时,发出loadedChanged
信号。
注意:相应的处理程序是onLoadedChanged
。
loopCountChanged() |
当初始循环次数改变时,发出loopCountChanged
信号。
注意:相应的处理程序是onLoopCountChanged
。
loopsRemainingChanged() |
当剩余循环次数改变时,发出loopsRemainingChanged
信号。
注意:相应的处理程序是onLoopsRemainingChanged
。
mutedChanged() |
当静音状态改变时,发出mutedChanged
信号。
注意:相应的处理程序是onMutedChanged
。
playingChanged() |
当播放属性改变时,发出playingChanged
信号。
注意:相应的处理程序是onPlayingChanged
。
sourceChanged() |
当源改变时,发出sourceChanged
信号。
注意:相应的处理程序是onSourceChanged
。
statusChanged() |
当状态属性改变时,会发出 statusChanged
信号。
注意:相应的处理程序是 onStatusChanged
。
volumeChanged() |
当音量改变时,会发出 volumeChanged
信号。
注意:相应的处理程序是 onVolumeChanged
。
方法文档
play() |
开始播放声音效果,根据 loops 属性指定的次数循环效果。
这是 SoundEffect 的默认方法。
SoundEffect { id: playSound source: "soundeffect.wav" } MouseArea { id: playArea anchors.fill: parent onPressed: { playSound.play() } }
stop() |
停止当前播放。
© 2024 Qt 公司 Ltd。此处包含的文档贡献属于其各自所有者。此处提供的文档是根据自由软件开发基金会(Free Software Foundation)发布的、题为“GNU 自由文档许可证版本 1.3”(GNU Free Documentation License version 1.3)的条款许可的。Qt 及相关标志是芬兰和/或世界上其他国家的 Qt 公司 Ltd 的商标。所有其他商标均为其各自所有者的财产。