QAudioDecoder Class
QAudioDecoderクラスは、オーディオのデコードを実装しています。詳細...
Header: | #include <QAudioDecoder> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake: | QT += multimedia |
Inherits: | QObject |
Status: | Preliminary |
このクラスは開発中であり、変更される可能性があります。
パブリックタイプ
enum | Error { NoError, ResourceError, FormatError, AccessDeniedError, NotSupportedError } |
プロパティ
- bufferAvailable : const bool
- error : const QString
- isDecoding : const bool
- source : QUrl
パブリック関数
QAudioDecoder(QObject *parent = nullptr) | |
virtual | ~QAudioDecoder() |
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 このプラットフォームではサポートされていません。 |
プロパティ Documentation
[read-only]
bufferAvailable : const bool
このプロパティは、利用可能なデコードオーディオバッファがあるかどうかを保持します。
アクセス関数
bool | bufferAvailable() const |
Notifier シグナル:
void | bufferAvailableChanged(bool available) |
[read-only]
error : const QString
現在のエラーに関する可読性のある説明、またはエラーがない場合は空文字列を返します。
アクセス関数
QString | errorString() const |
[read-only]
isDecoding : const bool
true
デコーダが現在実行中で、オーディオデータをデコードしている場合。
アクセス関数:
bool | isDecoding() const |
Notifier シグナル:
void | isDecodingChanged(bool) |
source : QUrl
このプロパティは、デコーダオブジェクトがデコードしているアクティブなファイル名を保持する。
アクセス関数
Notifierシグナル:このプロパティは、デコーダーオブジェクトによってデコードされているアクティブなファイル名を保持する:
void | sourceChanged() |
メンバー関数ドキュメント
[explicit]
QAudioDecoder::QAudioDecoder(QObject *parent = nullptr)
QAudioDecoder インスタンスをparent で構築します。
[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 が真の場合)。
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
デコーダからバッファを読み込む。現在利用可能なデコード済みバッファがない場合、または失敗した場合は無効なバッファを返す。どちらの場合も、この関数はブロックしない。
bufferReady() シグナルに応答するか、bufferAvailable() 関数をチェックしてから read() をコールして、有用なデータが得られることを確認する必要がある。
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() を呼び出すと、デコードを最初から再開します。
本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。