PySide6.QtMultimedia.QAudioDecoder¶
- class QAudioDecoder¶
QAudioDecoder类实现了音频解码。更多…概要¶
属性¶
bufferAvailableᅟ- 是否有可用的解码音频缓冲区isDecodingᅟ- 如果解码器当前正在运行并解码音频数据,则为Truesourceᅟ- 解码器对象正在解码的活动文件名
方法¶
def
__init__()def
audioFormat()def
duration()def
error()def
errorString()def
isDecoding()def
isSupported()def
position()def
read()def
setAudioFormat()def
setSource()def
source()def
sourceDevice()
插槽¶
信号¶
def
bufferReady()def
error()def
finished()def
formatChanged()def
sourceChanged()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
QAudioDecoder类是一个用于解码音频媒体文件的高级类。它与QMediaPlayer类类似,不同之处在于音频是通过此 API 提供的,而不是直接路由到音频硬件。另请参阅
- class Error¶
定义媒体播放器错误条件。
常量
描述
QAudioDecoder.NoError
没有发生错误。
QAudioDecoder.ResourceError
无法解析媒体资源。
QAudioDecoder.FormatError
媒体资源的格式不受支持。
QAudioDecoder.AccessDeniedError
没有适当的权限来播放媒体资源。
QAudioDecoder.NotSupportedError
QAudioDecoder在此平台上不受支持
注意
当使用
from __feature__ import true_property时,属性可以直接使用,否则通过访问器函数使用。- property bufferAvailableᅟ: bool¶
此属性表示是否有可用的解码音频缓冲区。
- Access functions:
- property errorᅟ: str¶
返回当前错误的人类可读描述,如果没有错误则返回空字符串。
- Access functions:
- property isDecodingᅟ: bool¶
如果解码器当前正在运行并解码音频数据,则此属性保持
true。- Access functions:
此属性保存解码器对象正在解码的活动文件名。
- Access functions:
使用
parent构建一个QAudioDecoder实例。- audioFormat()¶
- Return type:
返回解码器设置的音频格式。
- bufferAvailable()¶
- Return type:
布尔
如果缓冲区可供读取,则返回true,否则返回false。如果没有可用的缓冲区,调用
read()函数将返回一个无效的缓冲区。属性
bufferAvailableᅟ的获取器。- bufferAvailableChanged(available)¶
- Parameters:
可用 – bool
表示新缓冲区的可用性(如果
available为 true)。如果
available为 false,则表示没有可用的缓冲区。属性
bufferAvailableᅟ的通知信号。- bufferReady()¶
表示有新的解码音频缓冲区可供读取。
另请参阅
- duration()¶
- Return type:
整数
返回音频流的总时长(以毫秒为单位),如果不可用则返回-1。
- durationChanged(duration)¶
- Parameters:
duration – int
表示解码数据的估计
duration已更改。另请参阅
返回
QAudioDecoder的当前错误状态。- error(error)
- Parameters:
错误 –
Error
表示发生了
error条件。另请参阅
- errorString()¶
- Return type:
字符串
属性
errorᅟ的获取器。- finished()¶
表示解码已成功完成。如果解码失败,则会发出错误信号。
- formatChanged(format)¶
- Parameters:
格式 –
QAudioFormat
表示解码器的当前音频格式已更改为
format。- isDecoding()¶
- Return type:
布尔
属性
isDecodingᅟ的获取器。- isDecodingChanged(arg__1)¶
- Parameters:
arg__1 – 布尔值
属性
isDecodingᅟ的通知信号。- isSupported()¶
- Return type:
布尔
如果此平台支持音频解码,则返回true。
- position()¶
- Return type:
整数
返回从解码器读取的最后一个缓冲区的位置(以毫秒为单位),如果尚未读取任何缓冲区,则返回-1。
- positionChanged(position)¶
- Parameters:
position – int
表示解码器的当前
position已发生变化。另请参阅
- read()¶
- Return type:
从解码器读取一个缓冲区(如果有的话)。如果当前没有可用的解码缓冲区或失败,则返回一个无效的缓冲区。在这两种情况下,此函数不会阻塞。
你应该响应
bufferReady()信号或在调用read()之前检查bufferAvailable()函数,以确保获取有用的数据。- setAudioFormat(format)¶
- Parameters:
格式 –
QAudioFormat
设置解码样本所需的音频格式为
format。此属性只能在解码器停止时设置。在其他时间设置此属性将被忽略。
如果解码器不支持此格式,
error()将被设置为FormatError。如果不指定格式,将使用解码音频本身的格式。否则,将应用一些格式转换。
如果您希望将解码格式重置为原始音频文件的格式,您可以指定一个无效的
format。将当前音频文件名设置为
fileName。当设置此属性时,任何当前的解码将停止,并且任何音频缓冲区将被丢弃。
您只能指定源文件名或源QIODevice。设置其中一个将取消设置另一个。
另请参阅
属性
sourceᅟ的设置器。将当前的音频QIODevice设置为
device。当设置此属性时,任何当前的解码将停止,并且任何音频缓冲区将被丢弃。
您只能指定源文件名或源QIODevice。设置其中一个将取消设置另一个。
另请参阅
返回当前要解码的文件名。如果调用了
setSourceDevice,这将为空。另请参阅
属性
sourceᅟ的获取器。- sourceChanged()¶
表示解码器的当前源已更改。
另请参阅
属性
sourceᅟ的通知信号。返回当前源QIODevice,如果已设置。如果调用了
setSource(),这将是一个nullptr。另请参阅
- start()¶
开始解码音频资源。
当数据被解码时,
bufferReady()信号将在解码到足够数据时发出。调用read()将返回一个音频缓冲区而不会阻塞。如果你在缓冲区准备好之前调用
read(),将会返回一个无效的缓冲区,同样不会阻塞。另请参阅
- stop()¶
停止解码音频。再次调用
start()将从开始处恢复解码。