1

qmlでビデオプレーヤーを作成しています。ビデオに沿って移動するスライダーを表示する必要があるため、スライダーの値は Mediaplayer の位置にバインドされます。

また、スライダーを手動で動かした場合は、ビデオの位置をスライダーの位置に移動する必要があります。

以下のコードを書いたのですが、スライドバーを動かすと警告が表示され、動画が小さい部分ごとに繰り返し再生されます。

警告は次のとおりです: qt-reserved-files/qml/QtQuick/Controls/Slider.qml:199:5: QML RangeModel: プロパティ "" のバインディング ループが検出されました

MediaPlayer {
    id: idVideo
}

Slider {
    id: idSlider
    anchors.bottom: idrow.top
    anchors.right: parent.right
    anchors.rightMargin: 85
    width: 400
    value: idVideo.position // for slider to move along with movie
    minimumValue: 0
    maximumValue: idVideo.duration

    // for movie to move as slider is moved to manually.
    onValueChanged: { 
        idVideo.seek(idSlider.value)
    }
}

onValueChangedを設定しないと、スライダー バーが移動してもムービーがシークしません。これに対する解決策はありますか?

4

1 に答える 1