Video QML Type

指定したビデオを表示するための便利な型。詳細...

Import Statement: import QtMultimedia
Inherits:

Item

プロパティ

シグナル

メソッド

詳細説明

Video は、 と の機能をひとつにまとめた便利な型です。複数の型を宣言することなく、シンプルなビデオ再生機能を提供します。MediaPlayer VideoOutput

以下は、シーンに動画再生を実装するサンプルコードです。

Video {
    id: video
    width : 800
    height : 600
    source: "video.avi"

    MouseArea {
        anchors.fill: parent
        onClicked: {
            video.play()
        }
    }

    focus: true
    Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
    Keys.onLeftPressed: video.position = video.position - 5000
    Keys.onRightPressed: video.position = video.position + 5000
}

ソース ファイルであるvideo.avi は、MouseArea の親をクリックすると再生されます。ビデオは 800 × 600 ピクセルの領域で再生され、id プロパティの値はvideo です。

Keys を押すと、一時停止ボタンが切り替わります:

  • Spacebar を押すと、一時停止ボタンが切り替わる。
  • Left Arrow を押すと、ビデオの現在位置が5秒前に移動する。
  • Right Arrow ビデオの現在位置を5秒進める。

Videoは、非変換、伸張、および一様にスケーリングされたビデオ表示をサポートしています。伸張された一様なスケールのプレゼンテーションについては、fillMode プロパティの説明を参照してください。

MediaPlayerVideoOutputも参照

プロパティの説明

autoPlay : bool [since 6.7]

このプロパティは、メディアが読み込まれた後に自動的に再生を開始するかどうかを制御します。デフォルトはfalse です。

このプロパティは Qt 6.7 で導入されました。


bufferProgress : real

このプロパティは、データバッファが現在どれくらい埋まっているかを保持します。


duration : int

このプロパティは、メディアの継続時間をミリ秒単位で保持します。

メディアの継続時間が決まっていない場合(ライブストリームなど)、これは0になります。


error : enumeration

このプロパティは、動画のエラー状態を保持します。次のいずれかになります:

  • MediaPlayerNoError.- 現在のエラーはありません。
  • MediaPlayer.ResourceError - リソースの割り当てに問題があるため、動画を再生できません。
  • MediaPlayer.FormatError - 動画形式がサポートされていません。
  • MediaPlayer.NetworkError - ネットワークの問題で動画を再生できません。
  • MediaPlayer.AccessDenied - アクセス許可が不足しているため、動画を再生できません。
  • MediaPlayer.ServiceMissing - メディア サービスがインスタンス化できなかったため、動画を再生できません。

errorString : string

このプロパティには、現在のエラー状態を詳細に説明する文字列が格納されます。


fillMode : enumeration

このプロパティを設定して、ターゲット領域に合わせて動画を拡大縮小する方法を定義します。

  • VideoOutput.Stretch - 動画がフィットするように拡大縮小されます。
  • VideoOutput.PreserveAspectFit - 動画をトリミングせずに一律に拡大縮小します。
  • VideoOutput.PreserveAspectCrop - 必要に応じてトリミングされます。

この型は QML の利便性を高めるためのものであり、列挙を直接サポートしていないため、利用可能な塗りつぶしモードへのアクセスにはVideoOutput の列挙が使用されます。

デフォルトの塗りつぶしモードはpreserveAspectFitです。


hasAudio : bool

このプロパティは、現在のメディアにオーディオコンテンツがあるかどうかを保持する。


hasVideo : bool

このプロパティは、現在のメディアにビデオコンテンツがあるかどうかを保持します。


loops : int

メディアを停止するまでの再生頻度を指定します。MediaPlayer.Infiniteに設定すると、現在のメディアファイルを永遠にループ再生します。

デフォルト値は1 。このプロパティを0 に設定しても効果はありません。


metaData : mediaMetaData

このプロパティは、現在のメディアのメタデータを保持します。

各メタデータキーの詳細については、MediaPlayer.metaData を参照してください。

mediaMetaDataも参照


muted : bool

このプロパティは、音声出力がミュートされているかどうかを保持します。


orientation : int

Video の向きを度単位で指定します。0、90、180、270、360 など、90 度の倍数のみがサポートされる。


playbackRate : real

このプロパティは、ビデオの再生レートを通常のレートの倍数で保持する。


playbackState : enumeration

この読み込み専用プロパティは、メディアの再生状態を示す。

  • MediaPlayer.PlayingState - メディアは再生中です。
  • MediaPlayer.PausedState - メディアは一時停止中です。
  • MediaPlayer.StoppedState - メディアは停止しています。

デフォルトの状態は、MediaPlayer.StoppedStateです。


position : int

このプロパティは、現在の再生位置をミリ秒単位で保持する。


seekable : bool

このプロパティは、動画の再生位置を変更できるかどうかを保持します。

True の場合、seek() メソッドを呼び出すか、position プロパティを変更すると、再生が新しい位置にシークされます。


source : url

このプロパティは、メディアのソース URL を保持する。


volume : real

このプロパティは、オーディオ音量を保持する。

音量は、0.0 (無音)から1.0 (フル音量)まで直線的にスケーリングされる。この範囲外の値はクランプされます。

デフォルトの音量は1.0 です。

UIの音量コントロールは通常、非線形にスケーリングされるべきです。例えば、対数スケールを使用すると、知覚されるラウドネスが直線的に変化します。詳しくはQtAudio::convertVolume() を参照してください。


シグナル・ドキュメント

errorOccurred(error, errorString)

このシグナルは、errorerrorString パラメータには、エラーの詳細情報が含まれている場合があります。

注: 対応するハンドラはonErrorOccurred です。


paused()

このシグナルは再生が一時停止されたときに発せられます。

:対応するハンドラはonPaused です。


playing()

このシグナルは、再生が開始または継続されたときに発せられます。

注: 対応するハンドラはonPlaying です。


stopped()

このシグナルは、再生が停止されたときに発せられます。

:対応するハンドラはonStopped です。


メソッドの説明

pause()

メディアの再生を一時停止します。


play()

メディアの再生を開始する。


seek(offset)

seekable プロパティが true の場合、現在の再生位置をoffset にシークします。

seekable およびpositionも参照してください


stop()

メディアの再生を停止します。


©2024 The Qt Company Ltd. 本文書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。