最近の Gstreamer1.0 を含め、GI ライブラリを使って簡単な音楽プレーヤーを作りたいと思っています。インターフェイスは、2 つのボタン (再生/一時停止) と、現在の再生時間をシークするためのスケールで構成されています。
私はパイプラインと要素のことをかなりよく理解しており、必要な再生時間(ユーザーがスケールの値を変更したとき)を求める方法も理解しましたが、スライダー/スケールを自動的に更新する最良の方法は何だろうか.ファイルが再生されます。ここで古い API を使用して実装されている 1 つの方法は、現在のプレーヤーの位置を定期的に読み取り、スライダーの位置を更新するタイマーを使用することです。
Glib.timeout_add(100, update_slider_callback)
非常にエレガントだとは思いません。新しい GI API を使用してこれを行うより良い方法はありますか?
編集:好奇心旺盛な人のために、ここに実装しました