本文整理匯總了Python中lollypop.objects.Track.set_duration方法的典型用法代碼示例。如果您正苦於以下問題:Python Track.set_duration方法的具體用法?Python Track.set_duration怎麽用?Python Track.set_duration使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類lollypop.objects.Track
的用法示例。
在下文中一共展示了Track.set_duration方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: BinPlayer
# 需要導入模塊: from lollypop.objects import Track [as 別名]
# 或者: from lollypop.objects.Track import set_duration [as 別名]
#.........這裏部分代碼省略.........
def _on_stream_start(self, bus, message):
"""
On stream start
Emit "current-changed" to notify others components
@param bus as Gst.Bus
@param message as Gst.Message
"""
self._start_time = time()
debug("Player::_on_stream_start(): %s" % self._current_track.uri)
self.emit('current-changed')
# Update now playing on lastfm
if Lp().lastfm is not None and self._current_track.id >= 0:
artists = ", ".join(self._current_track.artists)
Lp().lastfm.now_playing(artists,
self._current_track.album_name,
self._current_track.title,
int(self._current_track.duration))
if not Lp().scanner.is_locked():
Lp().tracks.set_listened_at(self._current_track.id, int(time()))
#######################
# PRIVATE #
#######################
def __update_current_duration(self, reader, track):
"""
Update current track duration
@param reader as TagReader
@param track id as int
"""
try:
duration = reader.get_info(track.uri).get_duration() / 1000000000
if duration != track.duration and duration > 0:
Lp().tracks.set_duration(track.id, duration)
self._current_track.set_duration(duration)
GLib.idle_add(self.emit, 'duration-changed', track.id)
except:
pass
def __load(self, track, init_volume=True):
"""
Stop current track, load track id and play it
If was playing, do not use play as status doesn't changed
@param track as Track
@param init volume as bool
"""
was_playing = self.is_playing
self._playbin.set_state(Gst.State.NULL)
if self._load_track(track, init_volume):
if was_playing:
self._playbin.set_state(Gst.State.PLAYING)
else:
self.play()
def __volume_up(self, playbin, plugins, duration):
"""
Make volume going up smoothly
@param playbin as Gst.Bin
@param plugins as PluginsPlayer
@param duration as int
"""
# We are not the active playbin, stop all
if self._playbin != playbin:
return
if duration > 0:
vol = plugins.volume.props.volume