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 –
QAudioDevice
parent –
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ᅟ
的通知信号。