本文整理汇总了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