PySide6.QtMultimedia.QSoundEffect¶
- class QSoundEffect¶
QSoundEffect类提供了一种播放低延迟音效的方法。更多…概要¶
属性¶
方法¶
def
__init__()def
audioDevice()def
isLoaded()def
isMuted()def
isPlaying()def
loopCount()def
loopsRemaining()def
setAudioDevice()def
setLoopCount()def
setMuted()def
setSource()def
setVolume()def
source()def
status()def
volume()
插槽¶
信号¶
def
loadedChanged()def
mutedChanged()def
playingChanged()def
sourceChanged()def
statusChanged()def
volumeChanged()
静态函数¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
这个类允许你以较低的延迟播放未压缩的音频文件(通常是WAV文件),适用于响应用户操作的“反馈”类型声音(例如虚拟键盘声音、弹出对话框的正面或负面反馈,或游戏声音)。如果低延迟不重要,考虑使用
QMediaPlayer类,因为它支持更多种类的媒体格式并且资源消耗较少。这个例子展示了如何播放一个循环的、相对安静的音效:
effect = QSoundEffect() effect.setSource(QUrl.fromLocalFile("engine.wav")) effect.setLoopCount(QSoundEffect.Infinite) effect.setVolume(0.25f) effect.play()
通常,音效应该被重复使用,这样可以提前完成所有的解析和准备工作,只在必要时触发。这有助于降低音频播放的延迟。
MyGame() self.m_explosion = self m_explosion.setSource(QUrl.fromLocalFile("explosion.wav")) m_explosion.setVolume(0.25f) # Set up click handling etc. clickSource.clicked.connect(m_explosion.play) # private m_explosion = QSoundEffect()
由于
QSoundEffect需要稍多的资源来实现较低延迟的播放,平台可能会限制同时播放的音效数量。- class Loop¶
常量
描述
QSoundEffect.Infinite
用作
setLoopCount()的参数,用于无限循环
- class Status¶
常量
描述
QSoundEffect.Null
未设置源或源为空。
QSoundEffect.Loading
SoundEffect 正在尝试加载源。
QSoundEffect.Ready
源已加载并准备好播放。
QSoundEffect.Error
操作过程中发生错误,例如加载源失败。
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property audioDeviceᅟ: QAudioDevice¶
返回
QAudioDevice实例。- Access functions:
- property loopsᅟ: int¶
此属性保存声音播放的次数。值为0或1表示声音只会播放一次;设置为SoundEffect .Infinite以启用无限循环。
可以在音效播放时更改该值,在这种情况下,它将更新剩余循环次数为新值。
- Access functions:
- property loopsRemainingᅟ: int¶
此属性包含音效在自动停止之前剩余的循环次数,如果在
loops中设置为Infinite,则表示无限循环。- Access functions:
- property mutedᅟ: bool¶
此属性提供了一种控制静音的方法。值为
true时将静音此效果。- Access functions:
- property playingᅟ: bool¶
此属性指示音效是否正在播放。
- Access functions:
此属性保存要播放的声音的URL。为了使SoundEffect尝试加载源,URL必须存在,并且应用程序必须在指定目录中具有读取权限。
- Access functions:
- property statusᅟ: QSoundEffect.Status¶
此属性表示来自
Status枚举的音效的当前状态。- Access functions:
- property volumeᅟ: float¶
此属性保存音效播放的音量,范围从0.0(静音)到1.0(最大音量)。
- Access functions:
使用给定的
parent创建一个QSoundEffect。- __init__(audioDevice[, parent=None])
- Parameters:
audioDevice –
QAudioDeviceparent –
QObject
使用给定的
audioDevice和parent创建一个QSoundEffect。- audioDevice()¶
- Return type:
另请参阅
属性
audioDeviceᅟ的获取器。- audioDeviceChanged()¶
属性
audioDeviceᅟ的通知信号。- isLoaded()¶
- Return type:
布尔
返回音效是否已完成加载
source()。- isMuted()¶
- Return type:
布尔
返回此音效是否静音
属性
mutedᅟ的获取器。- isPlaying()¶
- Return type:
布尔
如果音效当前正在播放,则返回true,否则返回false
属性
playingᅟ的获取器。- loadedChanged()¶
当加载状态发生变化时,会发出
loadedChanged信号。- loopCount()¶
- Return type:
整数
返回此音效在停止前将被播放的总次数。
查看
loopsRemaining()方法以获取当前剩余的循环次数。另请参阅
属性
loopsᅟ的获取器。- loopCountChanged()¶
当初始循环次数发生变化时,会发出
loopCountChanged信号。属性
loopsᅟ的通知信号。- loopsRemaining()¶
- Return type:
整数
属性
loopsRemainingᅟ的获取器。- loopsRemainingChanged()¶
当剩余循环次数发生变化时,会发出
loopsRemainingChanged信号。属性
loopsRemainingᅟ的通知信号。- mutedChanged()¶
当静音状态发生变化时,会发出
mutedChanged信号。属性
mutedᅟ的通知信号。- play()¶
开始播放音效,根据loops属性中指定的次数循环播放效果。
- playingChanged()¶
当
playingChanged信号发出时,表示 playing 属性已更改。属性
playingᅟ的通知信号。- setAudioDevice(device)¶
- Parameters:
设备 –
QAudioDevice
另请参阅
属性
audioDeviceᅟ的设置器。- setLoopCount(loopCount)¶
- Parameters:
loopCount – int
将此音效的总播放次数设置为
loopCount。将循环计数设置为0或1意味着音效将只播放一次;传递
QSoundEffect::Infinite以无限重复。在音效播放时,可以更改循环计数,此时它将更新剩余循环次数为新的loopCount。属性
loopsᅟ的设置器。- setMuted(muted)¶
- Parameters:
muted – 布尔值
设置是否静音此音效的播放。
如果
muted为 true,播放将被静音(无声),否则将使用当前指定的volume()进行播放。另请参阅
属性
mutedᅟ的设置器。将当前播放的URL设置为
url。另请参阅
属性
sourceᅟ的设置器。- setVolume(volume)¶
- Parameters:
volume – 浮点数
将音效音量设置为
volume。音量从
0.0(静音)线性缩放到1.0(最大音量)。超出此范围的值将被限制。默认音量为
1.0。UI音量控制通常应该以非线性方式缩放。例如,使用对数比例将产生感知音量的线性变化,这是用户通常期望的音量控制效果。有关更多详细信息,请参见
convertVolume()。另请参阅
属性
volumeᅟ的设置器。返回当前播放源的URL
另请参阅
属性
sourceᅟ的获取器。- sourceChanged()¶
当源发生变化时,会发出
sourceChanged信号。属性
sourceᅟ的通知信号。返回此音效的当前状态。
属性
statusᅟ的获取器。- statusChanged()¶
当状态属性发生变化时,会发出
statusChanged信号。属性
statusᅟ的通知信号。- stop()¶
停止当前播放。
- static supportedMimeTypes()¶
- Return type:
字符串列表
返回此平台支持的MIME类型列表。
- volume()¶
- Return type:
浮点数
返回此音效的当前音量,范围从0.0(静音)到1.0(最大音量)。
另请参阅
属性
volumeᅟ的获取器。- volumeChanged()¶
当音量发生变化时,会发出
volumeChanged信号。属性
volumeᅟ的通知信号。