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()
将从开始处恢复解码。