1

TTrackBar と TMediaPlayer があります。LiveBindigs 機能を使用して、TMediaPlayer の位置に応じて TTrackBar の位置を変更する方法を探しています。

問題は、TMediaPlayer にTMediaPlayer.Positionプロパティの変更を監視するイベントがないため、TTrackBar.Position同期できないことです。

イベントをトリガーせずにコンポーネント プロパティの変更を監視することはできますか?

4

1 に答える 1

2

適切なイベントがなければ、特定のプロパティの変更を監視することはできません。

また、MediaPlayer.Position プロパティにイベントをバインドする必要もありません。なんで?

たとえば、ビデオを再生している場合、フレームごとに位置が変更されます。これは、30 FPS でビデオを再生する場合、そのようなイベントが 1 秒あたり 30 回発生することを意味します。したがって、そのイベントのコードによっては、アプリケーションがすぐにクロールされる可能性があります。

したがって、フォームにタイマーを配置し、一定の間隔でメディア プレーヤーの位置を確認して、TrackBar を更新することをお勧めします。1秒間隔で十分だと思いますが、必要に応じて短くすることもできます.

TrackBar を使用して、いくつかの制御変数を使用して、TrackBar の位置がユーザーまたはタイマーによって更新されているかどうかを確認する機能も使用することを確認してください。他の万力では、奇妙な吃音が発生します(初めて私に起こりました)。

LiveBindings だけでこれらすべてを達成することは不可能だと思います。

于 2016-04-01T20:54:03.590 に答える