簡體   English   中英

使用gstreamer1.0和gtk3制作帶有播放控件的簡單音頻播放器

[英]Make a simple audio player with a playback control with gstreamer1.0 and gtk3

我想使用GI庫(包括最新的Gstreamer1.0)制作一個簡單的音樂播放器。 該界面僅包含2個按鈕(播放/暫停)和一個用於搜索當前播放時間的刻度:

這是界面的簡單屏幕

我非常了解管道和元素的內容,我也想出了如何尋求所需的播放時間(當用戶更改比例值時),但是我想知道什么時候自動更新滑塊/比例的最佳方法是什么文件正在播放。 使用舊API 在這里實現的一種方法是使用計時器,該計時器定期讀取當前玩家位置並更新滑塊的位置:

Glib.timeout_add(100, update_slider_callback)

我覺得它不是很優雅,是否有更好的方法使用新的GI API來做到這一點?

編輯:對於任何好奇的人,我在這里實現了它

至少這大概是在pitivi中實現的方式,這對於gst / python代碼是一個很好的參考。

這是確切的位置:

https://git.gnome.org/browse/pitivi/tree/pitivi/utils/pipeline.py#n390

位置查詢封裝在自定義管道子類中,但是代碼相似。

你應該看看這個utils文件夾,順便說一句,里面有很多好東西:)

至於優雅,在我看來,重復查詢主線程中的位置對我來說似乎不是一個hack。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM