QAudioDecoder Class
QAudioDecoderクラスは、オーディオのデコードを実装しています。詳細...
ヘッダ | #include <QAudioDecoder> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
を継承する: | QObject |
ステータス | 予備 |
このクラスは開発中であり、変更される可能性があります。
パブリックな型
enum | Error { NoError, ResourceError, FormatError, AccessDeniedError, NotSupportedError } |
プロパティ
- bufferAvailable : const bool
- error : const QString
- isDecoding : const bool
- source : QUrl
パブリック機能
QAudioDecoder(QObject *parent = nullptr) | |
virtual | ~QAudioDecoder() override |
QAudioFormat | audioFormat() const |
bool | bufferAvailable() const |
qint64 | duration() const |
QAudioDecoder::Error | error() const |
QString | errorString() const |
bool | isDecoding() const |
bool | isSupported() const |
qint64 | position() const |
QAudioBuffer | read() const |
void | setAudioFormat(const QAudioFormat &format) |
void | setSource(const QUrl &fileName) |
void | setSourceDevice(QIODevice *device) |
QUrl | source() const |
QIODevice * | sourceDevice() const |
パブリックスロット
シグナル
void | bufferAvailableChanged(bool available) |
void | bufferReady() |
void | durationChanged(qint64 duration) |
void | error(QAudioDecoder::Error error) |
void | finished() |
void | formatChanged(const QAudioFormat &format) |
void | isDecodingChanged(bool) |
void | positionChanged(qint64 position) |
void | sourceChanged() |
詳細説明
QAudioDecoderクラスは、オーディオ・メディア・ファイルをデコードするための高レベルのクラスです。オーディオ・ハードウェアに直接ルーティングされるのではなく、このAPIを通してオーディオが提供されることを除けば、QMediaPlayer クラスに似ています。
QAudioBufferも参照の こと。
メンバ型ドキュメント
enum QAudioDecoder::Error
メディアプレーヤーのエラー状態を定義します。
定数 | 値 | 説明 |
---|---|---|
QAudioDecoder::NoError | 0 | エラーは発生していません。 |
QAudioDecoder::ResourceError | 1 | メディア・リソースを解決できませんでした。 |
QAudioDecoder::FormatError | 2 | メディア・リソースのフォーマットがサポートされていません。 |
QAudioDecoder::AccessDeniedError | 3 | メディア・リソースを再生するための適切なパーミッションがありません。 |
QAudioDecoder::NotSupportedError | 4 | QAudioDecoder このプラットフォームではサポートされていません。 |
プロパティ・ドキュメント
[read-only]
bufferAvailable : const bool
このプロパティは、利用可能なデコードオーディオバッファがあるかどうかを保持する。
アクセス関数
bool | bufferAvailable() const |
ノーティファイア信号:
void | bufferAvailableChanged(bool available) |
[read-only]
error : const QString
現在のエラーについて人間が読める説明を返すか、エラーがない場合は空文字列を返す。
アクセス関数:
QString | errorString() const |
[read-only]
isDecoding : const bool
true
デコーダーが現在動作中で、オーディオデータをデコードしている場合。
アクセス機能:
bool | isDecoding() const |
通知信号:
void | isDecodingChanged(bool) |
source : QUrl
このプロパティは、デコーダオブジェクトによってデコードされているアクティブなファイル名を保持する。
アクセス関数:
ノーティファイアシグナル:
void | sourceChanged() |
メンバ関数ドキュメント
[explicit]
QAudioDecoder::QAudioDecoder(QObject *parent = nullptr)
QAudioDecoder のインスタンスをparent で構築する。
[override virtual noexcept]
QAudioDecoder::~QAudioDecoder()
オーディオ・デコーダー・オブジェクトを破棄する。
QAudioFormat QAudioDecoder::audioFormat() const
デコーダが設定されているオーディオフォーマットを返す。
注意: オーディオフォーマットが無効なものに設定されていた場合、デコードされたサンプルのフォーマットと異なる可能性があります。
setAudioFormat() およびformatChanged()も参照 。
bool QAudioDecoder::bufferAvailable() const
読み込み可能なバッファがある場合はtrueを返し、ない場合はfalseを返す。利用可能なバッファがない場合、read() 関数を呼び出すと、無効なバッファが返されます。
注意: プロパティ bufferAvailable のゲッター関数です。
[signal]
void QAudioDecoder::bufferAvailableChanged(bool available)
新しいバッファが利用可能であることを通知します (available が true の場合)。
available が false の場合、利用可能なバッファはありません。
注: bufferAvailable プロパティに対する通知シグナル。
bufferAvailable() およびbufferReady()も参照してください 。
[signal]
void QAudioDecoder::bufferReady()
新しいデコードオーディオバッファが読み込み可能になったことを示す。
read() およびbufferAvailable()も参照 。
qint64 QAudioDecoder::duration() const
オーディオストリームの総時間(ミリ秒)を返します。
[signal]
void QAudioDecoder::durationChanged(qint64 duration)
デコードされたデータの推定duration が変更されたことを示す。
positionChanged()も参照のこと 。
QAudioDecoder::Error QAudioDecoder::error() const
QAudioDecoder の現在のエラー状態を返す。
[signal]
void QAudioDecoder::error(QAudioDecoder::Error error)
error 条件が発生したことを知らせる。
注意:シグナルerrorはこのクラスでオーバーロードされています。関数ポインタ構文を使用してこのシグナルに接続するために、Qtはこの例に示すように関数ポインタを取得する便利なヘルパーを提供します:
connect(audioDecoder, QOverload<QAudioDecoder::Error>::of(&QAudioDecoder::error), [=](QAudioDecoder::Error error){ /* ... */ });
errorString()も参照してください 。
[signal]
void QAudioDecoder::finished()
デコードが正常に終了したことを知らせる。デコードに失敗した場合は、代わりにエラーシグナルが発せられる。
[signal]
void QAudioDecoder::formatChanged(const QAudioFormat &format)
デコーダの現在のオーディオフォーマットがformat に変更されたことを示す。
audioFormat() およびsetAudioFormat()も参照のこと 。
bool QAudioDecoder::isSupported() const
このプラットフォームでオーディオデコーディングがサポートされている場合はtrueを返す。
qint64 QAudioDecoder::position() const
デコーダーから最後に読み込まれたバッファの位置(ミリ秒単位)、またはバッファが読み込まれていない場合は-1を返す。
[signal]
void QAudioDecoder::positionChanged(qint64 position)
デコーダの現在のposition が変更されたことを示す。
durationChanged()も参照 。
QAudioBuffer QAudioDecoder::read() const
デコーダからバッファを読み込む。現在利用可能なデコード・バッファがない場合、または失敗した場合は無効なバッファを返す。どちらの場合も、この関数はブロックしない。
read()を呼び出す前に、bufferReady()シグナルに応答するか、bufferAvailable()関数をチェックして、有用なデータが得られることを確認すべきである。
void QAudioDecoder::setAudioFormat(const QAudioFormat &format)
デコードされたサンプルのオーディオフォーマットをformat に設定する。
このプロパティは、デコーダが停止している間のみ設定できます。その他の時間にこのプロパティを設定しても無視される。
デコーダがこのフォーマットをサポートしていない場合、error ()はFormatError
に設定される。
フォーマットを指定しない場合、デコードされたオーディオ自体のフォーマットが使用される。それ以外の場合は、何らかのフォーマット変換が適用される。
デコードされたフォーマットを元のオーディオファイルのフォーマットに戻したい場合は、無効なformat を指定することができます。
警告 希望のオーディオフォーマットを設定することは、Androidバックエンドではまだサポートされていません。デフォルトのFFMPEGバックエンドでは動作します。
audioFormat()も参照してください 。
void QAudioDecoder::setSource(const QUrl &fileName)
現在のオーディオファイル名をfileName に設定する。
このプロパティが設定されると、現在のデコードはすべて停止され、オーディオバッファはすべて破棄される。
指定できるのは、ソースファイル名またはソースQIODevice のどちらか一方のみです。一方を設定すると、もう一方は解除されます。
注: プロパティのセッター関数source 。
source()も参照 。
void QAudioDecoder::setSourceDevice(QIODevice *device)
現在のオーディオQIODevice をdevice に設定する。
このプロパティが設定されると、現在のデコードはすべて停止され、オーディオバッファはすべて破棄される。
指定できるのは、ソースファイル名またはソースQIODevice のどちらか一方のみです。一方を設定すると、もう一方は設定されなくなります。
sourceDevice()も参照してください 。
QUrl QAudioDecoder::source() const
デコードする現在のファイル名を返す。setSourceDevice が呼び出された場合、これは空になる。
メモ: プロパティ・ソースのゲッター関数。
setSource()も参照 。
[signal]
void QAudioDecoder::sourceChanged()
デコーダの電流ソースが変更されたことを示す。
注: プロパティsource に対するノーティファイア・シグナル。
source() およびsourceDevice()も参照 。
QIODevice *QAudioDecoder::sourceDevice() const
QIODevice が設定されている場合は、現在のソースを返します。setSource() が呼び出された場合、これは NULLptr になります。
setSourceDevice()も参照してください 。
[slot]
void QAudioDecoder::start()
オーディオリソースのデコードを開始する。
データがデコードされると、十分なデータがデコードされた時点でbufferReady() シグナルが発せられる。read() を呼び出すと、ブロックせずにオーディオ・バッファが返されます。
バッファの準備ができる前にread() を呼び出すと、無効なバッファが返されます。
read()も参照 。
[slot]
void QAudioDecoder::stop()
音声のデコードを停止する。再度start() を呼び出すと、デコードを最初から再開する。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.