Mopidy: 下一首曲目加载在当前播放的曲目中 / Mopidy 永远不会改变曲目

创建于 2016-06-13  ·  39评论  ·  资料来源: mopidy/mopidy

我遇到了轨道永远不会改变轨道的问题。 当前曲目结束后,下一曲目才开始播放,但会继续播放超过当前曲目的总时间。 最终,它意识到它完成的曲目并停止播放。 无论我使用什么输出或混音器,都会发生这种情况。 可能很难想象我在说什么,所以附上一张来自 ncmpcpp 的图片。

注意:mopidy 当前正在播放下一首曲目 Unsre Stärke heißt zu schwach,尽管显示的是上一首曲目 Verstummt!

2016-06-13-141459_1146x63_scrot

不幸的是,我无法从 mopidy 日志中找到相关数据。 它似乎根本没有意识到轨道已经改变,因此它没有在那里记录任何变化。

请注意,我可以使用 mpc next 等手动更改曲目。此外,如果在仍显示所选的第一首歌曲的同时到达播放列表的末尾,它将在日志中正常结束:

调试 2016-06-13 14:13:34,350 [29984:MpdSession-13] mopidy.mpd.session
来自 [:: ffff:50.76.48.109 ]:5684 的请求:空闲

版本:Mopidy 2.0.0

扩展测试:

  • Mopidy-GMusic (1.0.0)
  • Mopidy-SoundCloud (2.0.2)
  • Mopidy-Youtube (2.0.2)

编辑:它最终会变成这样:

DEBUG    2016-06-13 14:47:26,482 [29984:MpdSession-18] mopidy.mpd.session
  Request from [::ffff:50.76.48.109]:25131: status
DEBUG    2016-06-13 14:47:26,486 [29984:MpdSession-18] mopidy.mpd.session
  Response to [::ffff:50.76.48.109]:25131: 
    volume: 100
    repeat: 0
    random: 0
    single: 0
    consume: 0
    playlist: 7
    playlistlength: 4
    xfade: 0
    state: play
    song: 0
    songid: 3
    time: 523:215
    elapsed: 523.607
    bitrate: 320
    OK
DEBUG    2016-06-13 14:47:26,582 [29984:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'audio-codec': [u'MPEG-1 Layer 3 (MP3)'], 'bitrate': [320000], 'has-crc': [False], 'channel-mode': [u'stereo']}
DEBUG    2016-06-13 14:47:26,584 [29984:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'audio-codec': [u'MPEG-1 Layer 3 (MP3)'], 'bitrate': [320000], 'channel-mode': [u'joint-stereo']}
DEBUG    2016-06-13 14:47:26,620 [29984:MpdSession-18] mopidy.mpd.session
  Request from [::ffff:50.76.48.109]:25131: idle
DEBUG    2016-06-13 14:47:26,791 [29984:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'audio-codec': [u'MPEG-1 Layer 3 (MP3)'], 'minimum-bitrate': [320031], 'bitrate': [320000], 'maximum-bitrate': [320031], 'channel-mode': [u'joint-stereo']}
DEBUG    2016-06-13 14:47:26,843 [29984:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'audio-codec': [u'MPEG-1 Layer 3 (MP3)'], 'minimum-bitrate': [319725], 'bitrate': [320000], 'maximum-bitrate': [320031], 'channel-mode': [u'joint-stereo']}
DEBUG    2016-06-13 14:47:27,624 [29984:MpdSession-18] mopidy.mpd.session
  Request from [::ffff:50.76.48.109]:25131: noidle
DEBUG    2016-06-13 14:47:27,627 [29984:MpdSession-18] mopidy.mpd.session
  Response to [::ffff:50.76.48.109]:25131: OK
DEBUG    2016-06-13 14:47:27,755 [29984:MpdSession-18] mopidy.mpd.session
  Request from [::ffff:50.76.48.109]:25131: status
DEBUG    2016-06-13 14:47:27,759 [29984:MpdSession-18] mopidy.mpd.session
  Response to [::ffff:50.76.48.109]:25131: 
    volume: 100
    repeat: 0
    random: 0
    single: 0
    consume: 0
    playlist: 7
    playlistlength: 4
    xfade: 0
    state: play
    song: 0
    songid: 3
    time: 2:215
    elapsed: 2.194
    bitrate: 320
    OK

它最初开始播放的歌曲只是重新开始。

C-bug A-core

最有用的评论

对此的修复将在即将发布的 v2.2.3 版本中进行。

所有39条评论

这通常是由于空闲命令发出或根本没有发出的竞争条件。 我似乎记得在做无间隙工作时试图解决这个问题,但可能错过了案例。

你好,
我刚刚注意到这一点,尽管在我的情况下 mpd 不会更新曲目,除非我接下来执行 mpc,然后它会播放两首歌曲,并开始一遍又一遍地重复第二首歌曲。 我只有在取消注释(并更改)输出参数时才体验到它。 以前,当它设置为默认值时,这不会发生。 Fwiw,我正在使用输出参数来播放_和_流我的输出。
-迈克尔。

刚刚验证,当输出参数被注释时问题消失了(使用内置默认值)。
-迈克尔。

在这种情况下, output parameter是什么意思?

我的意思是 xdg-config/mopidy/mopidy.conf 中的输出选项

从我的iPhone发送

在2016年7月25日,在下午3点26分,托马斯Adamcik [email protected]写道:

在这种情况下,输出参数是什么意思?


您收到此消息是因为您发表了评论。
直接回复此邮件,在 GitHub 上查看,或将线程静音。

有这方面的消息吗? :-)

任何更新? 我真的很期待修复:D。
-迈克尔。

我遇到了同样的问题,虽然我没有使用 MPD 前端而是 Web 前端。
不确定我可以在这里添加哪些可能有帮助的内容,但我非常乐意提供有关我的设置的信息。

@lilmike我认为问题是您使用的参数与内置默认值不同吗? 您是否正在尝试使用文件接收器?

@monokles Web 前端没有空闲命令。 你能提供mopidy depsmopidy config以及发生这种情况时的调试日志吗(在 dpaste 或类似的情况下)? 您使用的是什么 Web 客户端?

你好,
我正在使用一个输出参数,它带有一个 T 恤,然后将其拆分为输出到我的扬声器,然后流式传输到 icecast 服务器。 如果我注释输出参数,问题就会消失。 如果我设置了它,它就会发生。
-迈克尔。

你好!
抱歉@kingosticks回复

当队列中有多个曲目时,我这边会发生什么的快速总结:

  1. mopidy 播放第一首曲目
  2. mopidy 播放第二首曲目(尽管此更改未在任何前端更新,即它们仍将第一首曲目显示为正在播放的曲目)
  3. mopidy 陷入循环中,第二首曲目不断重复播放

我正在使用音乐盒网络前端,但它也显示为轻便摩托车(可能还有其他前端)。
莫迪配置
莫蒂迪普
出于某种原因, mopidy 没有生成调试日志......我不知道为什么,但是
如果有任何用处,这里是正常日志。
请注意,我没有使用 icecast,而是使用 Liquidsoap,并且运行脚本。

如果我还能提供更多信息(或者如果您能告诉我为什么没有生成调试日志),请告诉我!

你好呀。
我才开始使用 mopidy 几个小时,我已经受到这个错误的影响。
@monokles完全相同的行为(在我的情况下,循环发生在第三首歌曲)
你们是如何绕过这个巨大的错误的?

您(或任何人)能否提供mopidy depsmopidy config以及重现此内容所需的确切步骤。 谢谢。

那些早先提供的 2 个帖子呢?

没有任何人可以重现该问题的步骤......如果我使用 HTTP 客户端将 3 条 Spotify 曲目添加到我的队列并播放它们,我看不到这里描述的任何内容。

如果您提供您的配置,那么也许我们可以看到您是否还看到与非标准配置输出相关的内容。

你好,
据我所知,只有当我将 [audio]->output 设置为默认值以外的内容时才会发生这种情况。 例如,

mopidy 配置(当它工作时):
[核]
cache_dir = $XDG_CACHE_DIR/mopidy
config_dir = $XDG_CONFIG_DIR/mopidy
data_dir = $XDG_DATA_DIR/mopidy
max_tracklist_length = 10000
恢复状态 = 假

[记录]
颜色 = 真
控制台格式 = %(levelname)-8s %(message)s
debug_format = %(levelname)-8s %(asctime)s [%(process)d:%(threadName)s] %(name)s\n %(message)s
debug_file = mopidy.log
配置文件 =

[声音的]
混音器 = 软件
混音器音量 =
输出 = 自动音频接收器
缓冲时间 =

[代理]
方案 =
主机名 =
端口 =
用户名 =
密码 =

[mpd]
启用 = 真
主机名 = 127.0.0.1
端口 = 6600
密码 =
最大连接数 = 20
连接超时 = 60
zeroconf = $hostname 上的 Mopidy MPD 服务器
命令黑名单 =
列出所有
列出所有信息
default_playlist_scheme = m3u

[http]
启用 = 真
主机名 = 127.0.0.1
端口 = 6680
静态目录 =
zeroconf = $hostname 上的 Mopidy HTTP 服务器

[溪流]
启用 = 真
协议 =
http
https
毫米
转播时间
rtmps
时间
metadata_blacklist =
超时 = 5000

[m3u]
启用 = 真
base_dir =
default_encoding = latin-1
default_extension = .m3u8
playlists_dir =

[软件混合器]
启用 = 真

[文件]
启用 = 真
media_dirs =
$XDG_MUSIC_DIR|音乐
~/|首页
exclude_file_extensions =
.jpg
.jpeg
show_dotfiles = false
follow_symlinks = false
元数据超时 = 1000

[当地的]
启用 = 真
图书馆 = sqlite
media_dir = /home/lilmike/音乐
扫描超时 = 1000
scan_flush_threshold = 100
scan_follow_symlinks = false
exclude_file_extensions =
。目录
.html
.jpeg
.jpg
。日志
.nfo
.png
。文本

[发现]
启用 = 假; 用户配置禁用了扩展。

[qsaver]
启用 = 真
备份文件 = ./tracklist_backup.json

[本地sqlite]
启用 = 真
目录 =
专辑本地:目录?类型=专辑
艺术家本地:目录?类型=艺术家
Composers local:directory?type=artist&role=composer
流派本地:目录?类型=流派
Performers local:directory?type=artist&role=performer
本地发行年份
跟踪本地:目录?类型=跟踪
上周的更新local:directory?max-age=604800
上个月的更新local:directory?max-age=2592000
超时 = 10
use_album_mbid_uri = true
use_artist_mbid_uri = false
use_artist_sortname = false

为了让它崩溃,至少对我来说,取消注释:

输出 = tee 名称 = t t。 ! 队列 ! 音频转换! 音频重采样! autoaudiosink t. ! 队列 ! 音频重采样! 音频转换! 前言! 哦! Shot2send ip=xxx port=8000 密码=xxx mount=mopidy

莫迪迪斯:
可执行文件:/usr/bin/mopidy
平台:Linux-4.10.3-1-ARCH-x86_64-with-glibc2.2.5
Python:来自 /usr/lib/python2.7 的 CPython 2.7.13
Mopidy:2.1.0 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
requests>=2.0: 2.13.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
龙卷风>=3.2: 4.4.2 来自 /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.5 来自 /usr/lib/python2.7/site-packages
Mopidy-Local-SQLite:1.0.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
Mopidy>=1.1: 2.1.0 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
requests>=2.0: 2.13.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
龙卷风>=3.2: 4.4.2 来自 /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.5 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
uritools>=1.0: 1.0.1 来自 /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.18 来自 /usr/lib/python2.7/site-packages
ipaddress>=1.0.6: 1.0.18 来自 /usr/lib/python2.7/site-packages
Mopidy-Qsaver:0.1.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
Mopidy>=1.0: 2.1.0 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
requests>=2.0: 2.13.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
龙卷风>=3.2: 4.4.2 来自 /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.5 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
Mopidy-Spotify:3.0.0 来自 /usr/lib/python2.7/site-packages
Mopidy>=2.0: 2.1.0 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
requests>=2.0: 2.13.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
龙卷风>=3.2: 4.4.2 来自 /usr/lib/python2.7/site-packages
singledispatch: 3.4.0.3 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
backports_abc>=0.4: 0.5 来自 /usr/lib/python2.7/site-packages
Pykka>=1.1: 1.2.0 来自 /usr/lib/python2.7/site-packages
pyspotify>=2.0.5: 来自 /usr/lib/python2.7/site-packages 的 2.0.5
cffi>=1.0.0: 1.9.1 来自 /usr/lib/python2.7/site-packages
pycparser:2.17 来自 /usr/lib/python2.7/site-packages
requests>=2.0: 2.13.0 来自 /usr/lib/python2.7/site-packages
设置工具:34.3.2 来自 /usr/lib/python2.7/site-packages
包装>=16.8:16.8 来自 /usr/lib/python2.7/site-packages
pyparsing: 2.2.0 来自 /usr/lib/python2.7/site-packages
六:1.10.0 来自 /usr/lib/python2.7/site-packages
六>=1.6.0: 1.10.0 来自 /usr/lib/python2.7/site-packages
appdirs>=1.4.0: 1.4.3 来自 /usr/lib/python2.7/site-packages
GStreamer:1.10.4.0 来自 /usr/lib/python2.7/site-packages/gi
详细资料:
Python 包装器:python-gi 3.22.0
相关要素:
成立:
解码器

应用程序源
阿尔萨辛克
奥辛克
oss4sink
脉冲接收器
id3demux
id3v2mux
lammp3enc
疯狂的
mpegaudioparse
mpg123audiodec
前言
前言
前向稀疏
多路复用器
多路复用器
解析
弗拉克德
稀疏的
大喊大叫
未找到:
flmp3dec

-迈克尔。

在这里重现的步骤:

  • 将曲目从本地专辑添加到空队列(新的 mopidy 开始)
  • 开始播放第一首曲目
  • 在第一首曲目结束时观察当前曲目没有更新,播放进度也没有更新
    (这可以从任何 http 客户端、api 和 mpd 客户端观察到)

我没有 Spotify 来尝试使用它进行复制。
目前我将尝试使用 debian 包,看看我是否可以用它进行复制。
mopidy.deps.txt
mopidy.conf.txt

编辑:也用 debian/stretch 包确认

# lsof -p $(pgrep mopidy)|grep mp3
mopidy  6856 mopidy   19r   REG              253,1  3700844 15990956 /data/media/mp3/Archive/Londinium/02 - All Time.mp3
mopidy  6856 mopidy   20r   REG              253,1  3700844 15990956 /data/media/mp3/Archive/Londinium/02 - All Time.mp3

同一轨道的两个文件句柄

编辑2:

  • 第一个音轨:一个文件句柄(当前音轨的那个)
# lsof -p $(pgrep mopidy)|grep mp3
mopidy  6856 mopidy   19r   REG              253,1  5953883 15990957 /data/media/mp3/Archive/Londinium/03 - So Few Words.mp3
  • 第二轨:2 个文件句柄,(上一轨未关闭的一个,以及一个新的
    第二轨)
# lsof -p $(pgrep mopidy)|grep mp3
mopidy  6856 mopidy   19r   REG              253,1  5953883 15990957 /data/media/mp3/Archive/Londinium/03 - So Few Words.mp3
mopidy  6856 mopidy   22r   REG              253,1  4051133 15990958 /data/media/mp3/Archive/Londinium/04 - Headspace.mp3
  • 在第二个轨道之后它循环
# lsof -p $(pgrep mopidy)|grep mp3
mopidy  6856 mopidy   19r   REG              253,1  4051133 15990958 /data/media/mp3/Archive/Londinium/04 - Headspace.mp3
mopidy  6856 mopidy   22r   REG              253,1  4051133 15990958 /data/media/mp3/Archive/Londinium/04 - Headspace.mp3

我没有看过代码,但我很确定它应该给你一些很好的提示;-)

一段时间以来,我一直看到相同的行为。

使用自定义容器,我有一个包含 5 个项目的播放列表。 如果我从第 4 轨跳到第 5 轨(重复打开),那么我们会看到以下一系列事件:

INFO     2017-03-26 08:46:07,205 [1:MpdSession-33] mopidy.mpd.session
  New MPD connection from [::ffff:172.18.0.1]:35692
DEBUG    2017-03-26 08:46:07,208 [1:MpdSession-33] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35692: next
DEBUG    2017-03-26 08:46:07,212 [1:MainThread] mopidy.audio.gst
  Got STATE_CHANGED bus message: old=GST_STATE_PLAYING new=GST_STATE_PAUSED pending=GST_STATE_READY
DEBUG    2017-03-26 08:46:07,215 [1:Audio-2] mopidy.audio.gst
  Changing state to GST_STATE_READY: result=GST_STATE_CHANGE_SUCCESS
DEBUG    2017-03-26 08:46:07,216 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested change of track; loading and starting Spotify player
DEBUG    2017-03-26 08:46:07,221 [1:MainThread] mopidy.audio.gst
  Got STATE_CHANGED bus message: old=GST_STATE_PAUSED new=GST_STATE_READY pending=GST_STATE_VOID_PENDING
DEBUG    2017-03-26 08:46:07,224 [1:Audio-2] mopidy.audio.gst
  Sending TAG event for track 'spotify:track:3n52npc7FPjG4dBZcgLjmD': 'taglist, artist=(string)Silverstein, title=(string)"My\\ Heroine\\ -\\ Acoustic", album=(string)"18\\ Candles:\\ The\\ Early\\ Years";'
DEBUG    2017-03-26 08:46:07,226 [1:Audio-2] mopidy.audio.gst
  Got source-setup signal: element=__main__.GstAppSrc
DEBUG    2017-03-26 08:46:07,228 [1:Audio-2] mopidy.audio.gst
  Changing state to GST_STATE_PLAYING: result=GST_STATE_CHANGE_ASYNC
DEBUG    2017-03-26 08:46:07,229 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested seek to 0
DEBUG    2017-03-26 08:46:07,233 [1:SpotifyBackend-6] mopidy_spotify.playback
  Skipping seek due to issue mopidy/mopidy#300
DEBUG    2017-03-26 08:46:07,233 [1:MpdSession-33] mopidy.mpd.session
  Response to [::ffff:172.18.0.1]:35692: OK
DEBUG    2017-03-26 08:46:07,235 [1:MpdSession-33] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35692: command_list_ok_begin
DEBUG    2017-03-26 08:46:07,237 [1:MpdSession-33] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35692: status
DEBUG    2017-03-26 08:46:07,238 [1:MpdSession-33] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35692: currentsong
DEBUG    2017-03-26 08:46:07,240 [1:MpdSession-33] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35692: command_list_end
DEBUG    2017-03-26 08:46:07,248 [1:Audio-2] mopidy.audio.actor
  Position query failed
DEBUG    2017-03-26 08:46:07,257 [1:MpdSession-33] mopidy.mpd.session
  Response to [::ffff:172.18.0.1]:35692: 
    volume: 100
    repeat: 1
    random: 0
    single: 0
    consume: 0
    playlist: 5
    playlistlength: 5
    xfade: 0
    state: play
    song: 2
    songid: 3
    nextsong: 3
    nextsongid: 4
    time: 0:212
    elapsed: 0.000
    bitrate: 160
    list_OK
    file: spotify:track:5W12R96LKHS0MxBjs6TQep
    Time: 212
    Artist: Silverstein
    Album: Ghost
    Title: Ghost
    Date: 2016
    Track: 1
    Pos: 2
    Id: 3
    AlbumArtist: Silverstein
    X-AlbumUri: spotify:album:1EZDUjQkJy65ecY1DZDstN
    list_OK
    OK
DEBUG    2017-03-26 08:46:07,260 [1:MpdSession-33] mopidy.internal.network
  Client most likely disconnected.
DEBUG    2017-03-26 08:46:07,262 [1:MpdSession-33] mopidy.internal.network
  Already stopping: Actor is shutting down.
DEBUG    2017-03-26 08:46:07,706 [1:Dummy-17] mopidy.audio.gst
  Got SEGMENT pad event: rate=1.0 format=time start=0 stop=18446744073709551615 position=0
DEBUG    2017-03-26 08:46:07,707 [1:Dummy-17] mopidy.audio.actor
  Audio event: position_changed(position=0L)
DEBUG    2017-03-26 08:46:07,708 [1:Dummy-17] mopidy.listener
  Sending position_changed to AudioListener: {'position': 0L}
DEBUG    2017-03-26 08:46:07,904 [1:MainThread] mopidy.audio.gst
  Got STREAM_START bus message
DEBUG    2017-03-26 08:46:07,904 [1:MainThread] mopidy.audio.actor
  Audio event: stream_changed(uri=u'appsrc://')
DEBUG    2017-03-26 08:46:07,905 [1:MainThread] mopidy.listener
  Sending stream_changed to AudioListener: {'uri': u'appsrc://'}
DEBUG    2017-03-26 08:46:07,908 [1:Core-8] mopidy.core.playback
  Triggering track playback ended event
DEBUG    2017-03-26 08:46:07,910 [1:Core-8] mopidy.listener
  Sending track_playback_ended to CoreListener: {'time_position': 468981L, 'tl_track': TlTrack(tlid=3, track=Track(album=Album(artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2apszug')], date=u'2016', name=u'Ghost', uri='spotify:album:1EZDUjQkJy65ecY1DZDstN'), artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2apszug')], bitrate=160, date=u'2016', disc_no=0, length=212000, name=u'Ghost', track_no=1, uri='spotify:track:5W12R96LKHS0MxBjs6TQep'))}
DEBUG    2017-03-26 08:46:07,914 [1:Core-8] mopidy.core.playback
  Changing state: playing -> playing
DEBUG    2017-03-26 08:46:07,915 [1:Core-8] mopidy.core.playback
  Triggering playback state change event
DEBUG    2017-03-26 08:46:07,917 [1:Core-8] mopidy.listener
  Sending playback_state_changed to CoreListener: {'old_state': u'playing', 'new_state': u'playing'}
DEBUG    2017-03-26 08:46:07,918 [1:MpdFrontend-11] mopidy.listener
  Sending player to MpdSession: {}
DEBUG    2017-03-26 08:46:07,920 [1:Core-8] mopidy.core.playback
  Triggering track playback started event
DEBUG    2017-03-26 08:46:07,922 [1:Core-8] mopidy.listener
  Sending track_playback_started to CoreListener: {'tl_track': TlTrack(tlid=5, track=Track(album=Album(artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2apszug')], date=u'2006', name=u'18 Candles: The Early Years', uri='spotify:album:5wwo3iPJ93pElRfHs97bea'), artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2apszug')], bitrate=160, date=u'2006', disc_no=0, length=214000, name=u'My Heroine - Acoustic', track_no=13, uri='spotify:track:3n52npc7FPjG4dBZcgLjmD'))}
DEBUG    2017-03-26 08:46:07,926 [1:MainThread] mopidy.audio.gst
  Got STATE_CHANGED bus message: old=GST_STATE_READY new=GST_STATE_PAUSED pending=GST_STATE_PLAYING
DEBUG    2017-03-26 08:46:07,928 [1:MainThread] mopidy.audio.gst
  Got ASYNC_DONE bus message.
DEBUG    2017-03-26 08:46:07,935 [1:MainThread] mopidy.audio.gst
  Got STATE_CHANGED bus message: old=GST_STATE_PAUSED new=GST_STATE_PLAYING pending=GST_STATE_VOID_PENDING
DEBUG    2017-03-26 08:46:07,938 [1:MainThread] mopidy.audio.actor
  Audio event: state_changed(old_state=playing, new_state=playing, target_state=None)
DEBUG    2017-03-26 08:46:07,940 [1:MainThread] mopidy.listener
  Sending state_changed to AudioListener: {'old_state': u'playing', 'target_state': None, 'new_state': u'playing'}
DEBUG    2017-03-26 08:46:08,230 [1:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'album': [u'18 Candles: The Early Years'], 'artist': [u'Silverstein'], 'title': [u'My Heroine - Acoustic']}
DEBUG    2017-03-26 08:46:08,231 [1:MainThread] mopidy.audio.actor
  Audio event: tags_changed(tags=['album', 'title', 'artist'])
DEBUG    2017-03-26 08:46:08,232 [1:MainThread] mopidy.listener
  Sending tags_changed to AudioListener: {'tags': ['album', 'title', 'artist']}

一旦上一首曲目结束,我们就会得到以下一系列事件,我们似乎很高兴地移动到下一首曲目。

DEBUG    2017-03-26 08:49:34,022 [1:SpotifyEventLoop] mopidy_spotify.playback
  End of track reached
DEBUG    2017-03-26 08:49:34,022 [1:Audio-2] mopidy.audio.gst
  Sending appsrc end-of-stream event.
DEBUG    2017-03-26 08:49:34,310 [1:SpotifyEventLoop] mopidy_spotify.playback
  End of track already received; ignoring callback
DEBUG    2017-03-26 08:49:38,743 [1:Dummy-27] mopidy.audio.gst
  Got about-to-finish event.
DEBUG    2017-03-26 08:49:38,743 [1:Dummy-27] mopidy.audio.actor
  Running about-to-finish callback.
DEBUG    2017-03-26 08:49:38,744 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested change of track; loading and starting Spotify player
DEBUG    2017-03-26 08:49:38,746 [1:Audio-2] mopidy.audio.gst
  Sending TAG event for track 'spotify:track:5U2p81vdlp2saDTIvk0Lnb': 'taglist, artist=(string)Silverstein, title=(string)"My\\ Heroine", album=(string)"Discovering\\ the\\ Waterfront";'
DEBUG    2017-03-26 08:49:38,748 [1:Dummy-27] mopidy.audio.gst
  Got source-setup signal: element=__main__.GstAppSrc
DEBUG    2017-03-26 08:49:38,751 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested seek to 0
DEBUG    2017-03-26 08:49:38,752 [1:SpotifyBackend-6] mopidy_spotify.playback
  Skipping seek due to issue mopidy/mopidy#300
DEBUG    2017-03-26 08:49:40,880 [1:Dummy-17] mopidy.audio.gst
  Got SEGMENT pad event: rate=1.0 format=time start=0 stop=18446744073709551615 position=0
DEBUG    2017-03-26 08:49:40,881 [1:Dummy-17] mopidy.audio.actor
  Audio event: position_changed(position=0L)
DEBUG    2017-03-26 08:49:40,881 [1:Dummy-17] mopidy.listener
  Sending position_changed to AudioListener: {'position': 0L}

然而,在这结束时,我们看到轨道又开始了:

DEBUG    2017-03-26 08:53:02,619 [1:SpotifyEventLoop] mopidy_spotify.playback
  End of track reached
DEBUG    2017-03-26 08:53:02,620 [1:Audio-2] mopidy.audio.gst
  Sending appsrc end-of-stream event.
DEBUG    2017-03-26 08:53:02,810 [1:SpotifyEventLoop] mopidy_spotify.playback
  End of track already received; ignoring callback
DEBUG    2017-03-26 08:53:06,840 [1:Dummy-31] mopidy.audio.gst
  Got about-to-finish event.
DEBUG    2017-03-26 08:53:06,840 [1:Dummy-31] mopidy.audio.actor
  Running about-to-finish callback.
DEBUG    2017-03-26 08:53:06,842 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested change of track; loading and starting Spotify player
DEBUG    2017-03-26 08:53:06,843 [1:Audio-2] mopidy.audio.gst
  Sending TAG event for track 'spotify:track:5U2p81vdlp2saDTIvk0Lnb': 'taglist, artist=(string)Silverstein, title=(string)"My\\ Heroine", album=(string)"Discovering\\ the\\ Waterfront";'
DEBUG    2017-03-26 08:53:06,844 [1:Dummy-31] mopidy.audio.gst
  Got source-setup signal: element=__main__.GstAppSrc
DEBUG    2017-03-26 08:53:06,847 [1:SpotifyBackend-6] mopidy_spotify.playback
  Audio requested seek to 0
DEBUG    2017-03-26 08:53:06,849 [1:SpotifyBackend-6] mopidy_spotify.playback
  Skipping seek due to issue mopidy/mopidy#300
DEBUG    2017-03-26 08:53:08,975 [1:Dummy-17] mopidy.audio.gst
  Got SEGMENT pad event: rate=1.0 format=time start=0 stop=18446744073709551615 position=0
DEBUG    2017-03-26 08:53:08,975 [1:Dummy-17] mopidy.audio.actor
  Audio event: position_changed(position=0L)
DEBUG    2017-03-26 08:53:08,976 [1:Dummy-17] mopidy.listener
  Sending position_changed to AudioListener: {'position': 0L}

这里值得注意的是,如果您向客户端查询状态,那么 Mopidy 似乎认为我们仍在第一个示例的轨道上:

INFO     2017-03-26 08:55:15,437 [1:MpdSession-34] mopidy.mpd.session
  New MPD connection from [::ffff:172.18.0.1]:35696
DEBUG    2017-03-26 08:55:15,439 [1:MpdSession-34] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35696: command_list_ok_begin
DEBUG    2017-03-26 08:55:15,440 [1:MpdSession-34] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35696: status
DEBUG    2017-03-26 08:55:15,441 [1:MpdSession-34] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35696: currentsong
DEBUG    2017-03-26 08:55:15,442 [1:MpdSession-34] mopidy.mpd.session
  Request from [::ffff:172.18.0.1]:35696: command_list_end
DEBUG    2017-03-26 08:55:15,449 [1:MpdSession-34] mopidy.mpd.session
  Response to [::ffff:172.18.0.1]:35696: 
    volume: 100
    repeat: 1
    random: 0
    single: 0
    consume: 0
    playlist: 5
    playlistlength: 5
    xfade: 0
    state: play
    song: 4
    songid: 5
    nextsong: 0
    nextsongid: 1
    time: 547:214
    elapsed: 547.989
    bitrate: 160
    list_OK
    file: spotify:track:3n52npc7FPjG4dBZcgLjmD
    Time: 214
    Artist: Silverstein
    Album: 18 Candles: The Early Years
    Title: My Heroine - Acoustic
    Date: 2006
    Track: 13
    Pos: 4
    Id: 5
    AlbumArtist: Silverstein
    X-AlbumUri: spotify:album:5wwo3iPJ93pElRfHs97bea
    list_OK
    OK
DEBUG    2017-03-26 08:55:15,451 [1:MpdSession-34] mopidy.internal.network
  Client most likely disconnected.
DEBUG    2017-03-26 08:55:15,453 [1:MpdSession-34] mopidy.internal.network
  Already stopping: Actor is shutting down.

这里突出的主要事情是,在它按预期运行的情况下,我们看到:

DEBUG    2017-03-26 08:46:07,224 [1:Audio-2] mopidy.audio.gst
  Sending TAG event for track 'spotify:track:3n52npc7FPjG4dBZcgLjmD': 'taglist, artist=(string)Silverstein, title=(string)"My\\ Heroine\\ -\\ Acoustic", album=(string)"18\\ Candles:\\ The\\ Early\\ Years";'
[...]
DEBUG    2017-03-26 08:46:08,230 [1:MainThread] mopidy.audio.gst
  Got TAG bus message: tags={'album': [u'18 Candles: The Early Years'], 'artist': [u'Silverstein'], 'title': [u'My Heroine - Acoustic']}

但在没有按预期工作的情况下,我们只会看到“发送 TAG 事件”消息。

我没有提到,但我总是随机重复。 这可能是重复的问题,我不确定。 我会测试并找出答案。
迈克尔。

从我的iPhone发送

2017 年 3 月 26 日,凌晨 4:07,丹尼尔·怀特[email protected]> 写道:

一段时间以来,我一直看到相同的行为。

使用自定义容器https://gist.github.com/danielwhite/5fc9f0a401e8beb9e2ad6ef463650cfa
我有一个包含 5 个项目的播放列表。 如果我从第 4 道跳到
轨道 5(重复打开),然后我们看到以下一系列事件:

信息 2017-03-26 08:46:07,205 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的新 MPD 连接
调试 2017-03-26 08:46:07,208 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的请求:下一个
调试 2017-03-26 08:46:07,212 [1:MainThread] mopidy.audio.gst
收到 STATE_CHANGED 总线消息:old=GST_STATE_PLAYING new=GST_STATE_PAUSED pending=GST_STATE_READY
调试 2017-03-26 08:46:07,215 [1:Audio-2] mopidy.audio.gst
将状态更改为 GST_STATE_READY:result=GST_STATE_CHANGE_SUCCESS
调试 2017-03-26 08:46:07,216 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求更改曲目; 加载和启动 Spotify 播放器
调试 2017-03-26 08:46:07,221 [1:MainThread] mopidy.audio.gst
收到 STATE_CHANGED 总线消息:old=GST_STATE_PAUSED new=GST_STATE_READY pending=GST_STATE_VOID_PENDING
调试 2017-03-26 08:46:07,224 [1:Audio-2] mopidy.audio.gst
发送轨道 'spotify:track:3n52npc7FPjG4dBZcgLjmD' 的 TAG 事件:'taglist, Artist=(string)Silverstein, title=(string)"My\ Heroine\ -\ Acoustic", album=(string)"18\ Candles:\ The \ 早些年”;'
调试 2017-03-26 08:46:07,226 [1:Audio-2] mopidy.audio.gst
得到源设置信号: element=__main__.GstAppSrc
调试 2017-03-26 08:46:07,228 [1:Audio-2] mopidy.audio.gst
将状态更改为 GST_STATE_PLAYING:result=GST_STATE_CHANGE_ASYNC
调试 2017-03-26 08:46:07,229 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求寻求 0
调试 2017-03-26 08:46:07,233 [1:SpotifyBackend-6] mopidy_spotify.playback
由于问题 mopidy/mopidy#300 而跳过搜索
调试 2017-03-26 08:46:07,233 [1:MpdSession-33] mopidy.mpd.session
对 [::ffff:172.18.0.1]:35692 的响应:好的
调试 2017-03-26 08:46:07,235 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的请求:command_list_ok_begin
调试 2017-03-26 08:46:07,237 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的请求:状态
调试 2017-03-26 08:46:07,238 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的请求:currentsong
调试 2017-03-26 08:46:07,240 [1:MpdSession-33] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35692 的请求:command_list_end
调试 2017-03-26 08:46:07,248 [1:Audio-2] mopidy.audio.actor
职位查询失败
调试 2017-03-26 08:46:07,257 [1:MpdSession-33] mopidy.mpd.session
对 [::ffff:172.18.0.1]:35692 的回应:
体积:100
重复:1
随机:0
单身:0
消耗:0
播放列表:5
播放列表长度:5
淡入淡出:0
状态:玩
歌曲:2
歌名:3
下一首:3
nextsongid: 4
时间:0:212
经过:0.000
比特率:160
列表_确定
文件:spotify:track:5W12R96LKHS0MxBjs6TQep
时间:212
艺术家:西尔弗斯坦
专辑: 鬼
书名:幽灵
日期:2016
曲目:1
位置:2
编号:3
专辑艺人:西尔弗斯坦
X-AlbumUri: spotify:album:1EZDUjQkJy65ecY1DZDstN
列表_确定
好的
调试 2017-03-26 08:46:07,260 [1:MpdSession-33] mopidy.internal.network
客户端很可能已断开连接。
调试 2017-03-26 08:46:07,262 [1:MpdSession-33] mopidy.internal.network
已停止:Actor 正在关闭。
调试 2017-03-26 08:46:07,706 [1:Dummy-17] mopidy.audio.gst
得到 SEGMENT pad 事件:rate=1.0 format=time start=0 stop=18446744073709551615 position=0
调试 2017-03-26 08:46:07,707 [1:Dummy-17] mopidy.audio.actor
音频事件:position_changed(position=0L)
调试 2017-03-26 08:46:07,708 [1:Dummy-17] mopidy.listener
发送 position_changed 到 AudioListener: {'position': 0L}
调试 2017-03-26 08:46:07,904 [1:MainThread] mopidy.audio.gst
收到 STREAM_START 总线消息
调试 2017-03-26 08:46:07,904 [1:MainThread] mopidy.audio.actor
音频事件:stream_changed(uri=u'appsrc://')
调试 2017-03-26 08:46:07,905 [1:MainThread] mopidy.listener
将 stream_changed 发送到 AudioListener:{'uri': u'appsrc://'}
调试 2017-03-26 08:46:07,908 [1:Core-8] mopidy.core.playback
触发曲目播放结束事件
调试 2017-03-26 08:46:07,910 [1:Core-8] mopidy.listener
将 track_playback_ended 发送到 CoreListener: {'time_position': 468981L, 'tl_track': TlTrack(tlid=3, track=Track(album=Album(artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J824qxe) ')], date=u'2016', name=u'Ghost', uri='spotify:album:1EZDUjQkJy65ecY1DZDstN'), 艺术家=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2 )], 比特率=160, 日期=u'2016', disc_no=0, 长度=212000, name=u'Ghost', track_no=1, uri='spotify:track:5W12R96LKHS0MxBjs6TQep'))}
调试 2017-03-26 08:46:07,914 [1:Core-8] mopidy.core.playback
改变状态:播放 -> 播放
调试 2017-03-26 08:46:07,915 [1:Core-8] mopidy.core.playback
触发播放状态改变事件
调试 2017-03-26 08:46:07,917 [1:Core-8] mopidy.listener
将playback_state_changed 发送到CoreListener: {'old_state': u'playing', 'new_state': u'playing'}
调试 2017-03-26 08:46:07,918 [1:MpdFrontend-11] mopidy.listener
将播放器发送到 MpdSession:{}
调试 2017-03-26 08:46:07,920 [1:Core-8] mopidy.core.playback
触发曲目播放开始事件
调试 2017-03-26 08:46:07,922 [1:Core-8] mopidy.listener
发送 track_playback_started 到 CoreListener: {'tl_track': TlTrack(tlid=5, track=Track(album=Album(artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeOo2apszug')], date= u'2006', name=u'18 Candles: The Early Years', uri='spotify:album:5wwo3iPJ93pElRfHs97bea'), Artists=[Artist(name=u'Silverstein', uri='spotify:artist:1Tsag5J854qxeO) ],比特率=160,日期=u'2006',disc_no=0,长度=214000,名称=u'我的女主角-声学',track_no=13,uri='spotify:track:3n52npc7FPjG4dBZcgLjmD'))}
调试 2017-03-26 08:46:07,926 [1:MainThread] mopidy.audio.gst
收到 STATE_CHANGED 总线消息:old=GST_STATE_READY new=GST_STATE_PAUSED pending=GST_STATE_PLAYING
调试 2017-03-26 08:46:07,928 [1:MainThread] mopidy.audio.gst
收到 ASYNC_DONE 总线消息。
调试 2017-03-26 08:46:07,935 [1:MainThread] mopidy.audio.gst
收到 STATE_CHANGED 总线消息:old=GST_STATE_PAUSED new=GST_STATE_PLAYING pending=GST_STATE_VOID_PENDING
调试 2017-03-26 08:46:07,938 [1:MainThread] mopidy.audio.actor
音频事件:state_changed(old_state=playing, new_state=playing, target_state=None)
调试 2017-03-26 08:46:07,940 [1:MainThread] mopidy.listener
发送 state_changed 到 AudioListener: {'old_state': u'playing', 'target_state': None, 'new_state': u'playing'}
调试 2017-03-26 08:46:08,230 [1:MainThread] mopidy.audio.gst
得到 TAG 总线消息:tags={'album': [u'18 Candles: The Early Years'], 'artist': [u'Silverstein'], 'title': [u'My Heroine - Acoustic']}
调试 2017-03-26 08:46:08,231 [1:MainThread] mopidy.audio.actor
音频事件:tags_changed(tags=['album', 'title', 'artist'])
调试 2017-03-26 08:46:08,232 [1:MainThread] mopidy.listener
发送 tags_changed 到 AudioListener: {'tags': ['album', 'title', 'artist']}

一旦上一首曲目结束,我们就会得到以下系列
我们似乎很高兴地进入下一个轨道的事件。

调试 2017-03-26 08:49:34,022 [1:SpotifyEventLoop] mopidy_spotify.playback
到达轨道终点
调试 2017-03-26 08:49:34,022 [1:Audio-2] mopidy.audio.gst
发送 appsrc 流结束事件。
调试 2017-03-26 08:49:34,310 [1:SpotifyEventLoop] mopidy_spotify.playback
已收到曲目结尾; 忽略回调
调试 2017-03-26 08:49:38,743 [1:Dummy-27] mopidy.audio.gst
有即将结束的事件。
调试 2017-03-26 08:49:38,743 [1:Dummy-27] mopidy.audio.actor
运行即将完成的回调。
调试 2017-03-26 08:49:38,744 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求更改曲目; 加载和启动 Spotify 播放器
调试 2017-03-26 08:49:38,746 [1:Audio-2] mopidy.audio.gst
发送轨道 'spotify:track:5U2p81vdlp2saDTIvk0Lnb' 的 TAG 事件: 'taglist, Artist=(string)Silverstein, title=(string)"My\ Heroine", album=(string)"Discovering\ the\ Waterfront";'
调试 2017-03-26 08:49:38,748 [1:Dummy-27] mopidy.audio.gst
得到源设置信号: element=__main__.GstAppSrc
调试 2017-03-26 08:49:38,751 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求寻求 0
调试 2017-03-26 08:49:38,752 [1:SpotifyBackend-6] mopidy_spotify.playback
由于问题 mopidy/mopidy#300 而跳过搜索
调试 2017-03-26 08:49:40,880 [1:Dummy-17] mopidy.audio.gst
得到 SEGMENT pad 事件:rate=1.0 format=time start=0 stop=18446744073709551615 position=0
调试 2017-03-26 08:49:40,881 [1:Dummy-17] mopidy.audio.actor
音频事件:position_changed(position=0L)
调试 2017-03-26 08:49:40,881 [1:Dummy-17] mopidy.listener
发送 position_changed 到 AudioListener: {'position': 0L}

然而,在这结束时,我们看到轨道又开始了:

调试 2017-03-26 08:53:02,619 [1:SpotifyEventLoop] mopidy_spotify.playback
到达轨道终点
调试 2017-03-26 08:53:02,620 [1:Audio-2] mopidy.audio.gst
发送 appsrc 流结束事件。
调试 2017-03-26 08:53:02,810 [1:SpotifyEventLoop] mopidy_spotify.playback
已收到曲目结束; 忽略回调
调试 2017-03-26 08:53:06,840 [1:Dummy-31] mopidy.audio.gst
有即将结束的事件。
调试 2017-03-26 08:53:06,840 [1:Dummy-31] mopidy.audio.actor
运行即将完成的回调。
调试 2017-03-26 08:53:06,842 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求更改曲目; 加载和启动 Spotify 播放器
调试 2017-03-26 08:53:06,843 [1:Audio-2] mopidy.audio.gst
发送轨道 'spotify:track:5U2p81vdlp2saDTIvk0Lnb' 的 TAG 事件: 'taglist, Artist=(string)Silverstein, title=(string)"My\ Heroine", album=(string)"Discovering\ the\ Waterfront";'
调试 2017-03-26 08:53:06,844 [1:Dummy-31] mopidy.audio.gst
得到源设置信号: element=__main__.GstAppSrc
调试 2017-03-26 08:53:06,847 [1:SpotifyBackend-6] mopidy_spotify.playback
音频请求寻求 0
调试 2017-03-26 08:53:06,849 [1:SpotifyBackend-6] mopidy_spotify.playback
由于问题 mopidy/mopidy#300 而跳过搜索
调试 2017-03-26 08:53:08,975 [1:Dummy-17] mopidy.audio.gst
得到 SEGMENT pad 事件:rate=1.0 format=time start=0 stop=18446744073709551615 position=0
调试 2017-03-26 08:53:08,975 [1:Dummy-17] mopidy.audio.actor
音频事件:position_changed(position=0L)
调试 2017-03-26 08:53:08,976 [1:Dummy-17] mopidy.listener
发送 position_changed 到 AudioListener: {'position': 0L}

这里值得注意的是,如果你向客户端查询状态,
那么 Mopidy 似乎认为我们仍然在轨道上
第一个例子:

信息 2017-03-26 08:55:15,437 [1:MpdSession-34] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35696 的新 MPD 连接
调试 2017-03-26 08:55:15,439 [1:MpdSession-34] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35696 的请求:command_list_ok_begin
调试 2017-03-26 08:55:15,440 [1:MpdSession-34] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35696 的请求:状态
调试 2017-03-26 08:55:15,441 [1:MpdSession-34] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35696 的请求:currentsong
调试 2017-03-26 08:55:15,442 [1:MpdSession-34] mopidy.mpd.session
来自 [::ffff:172.18.0.1]:35696 的请求:command_list_end
调试 2017-03-26 08:55:15,449 [1:MpdSession-34] mopidy.mpd.session
对 [::ffff:172.18.0.1]:35696 的回应:
体积:100
重复:1
随机:0
单身:0
消耗:0
播放列表:5
播放列表长度:5
淡入淡出:0
状态:玩
歌曲:4
歌名:5
下一首:0
nextsongid: 1
时间:547:214
已用时间:547.989
比特率:160
列表_确定
文件:spotify:track:3n52npc7FPjG4dBZcgLjmD
时间:214
艺术家:西尔弗斯坦
专辑:18支蜡烛:早年
作品名:我的女主角 - 原声
日期:2006
曲目:13
位置:4
编号:5
专辑艺人:西尔弗斯坦
X-AlbumUri: spotify:album:5wwo3iPJ93pElRfHs97bea
列表_确定
好的
调试 2017-03-26 08:55:15,451 [1:MpdSession-34] mopidy.internal.network
客户端很可能已断开连接。
调试 2017-03-26 08:55:15,453 [1:MpdSession-34] mopidy.internal.network
已停止:Actor 正在关闭。

这里突出的主要事情是,在它的情​​况下
行为符合预期,我们看到:

调试 2017-03-26 08:46:07,224 [1:Audio-2] mopidy.audio.gst
发送轨道 'spotify:track:3n52npc7FPjG4dBZcgLjmD' 的 TAG 事件:'taglist, Artist=(string)Silverstein, title=(string)"My\ Heroine\ -\ Acoustic", album=(string)"18\ Candles:\ The \ 早些年”;'
[...]
调试 2017-03-26 08:46:08,230 [1:MainThread] mopidy.audio.gst
得到 TAG 总线消息:tags={'album': [u'18 Candles: The Early Years'], 'artist': [u'Silverstein'], 'title': [u'My Heroine - Acoustic']}

但是在没有按预期工作的情况下,我们只看到
“发送 TAG 事件”消息。


你收到这个是因为你被提到了。
直接回复本邮件,在 GitHub 上查看https://github.com/mopidy/mopidy/issues/1528#issuecomment-289267755 ,或将线程静音https://github.com/notifications/unsubscribe-auth/ABEM88lhfdyJWiIrlgk_LH6DcnGy0PirIga0ks5ZfM

我可能还注意到,我在重复和不重复的情况下都看到了这一点。 当我收集这些日志时,碰巧我正在测试它是否重复。

你好,
我只是用非常短的文件做了一些测试(所以我不必听很长的歌曲来看看它是否有效)和我的发现:

  1. 当我注释掉输出参数时,它发生在大约 4 或 5 个轨道之后。
  2. 当我取消注释输出参数并设置为其他参数时,它发生在第二首曲目之后。
  3. 还值得注意的是,我通常不会在带有注释输出参数的音乐库中注意到它,所以也许如果歌曲很长(而不是短声音)并且在配置文件中未设置输出参数,则不会发生或不经常发生?
  4. 日志在这里(我无法让我的屏幕阅读器使用附加对话框,否则我会这样做)(#1 明确设置输出时,#2 注释时)。 https://mtserver.mwtd.net/mopidy1.txt , https://mtserver.mwtd.net/mopidy2.txt

-迈克尔。

可以将此错误标记为错误吗?
自从这个 bug 被填补以来,已经发布了 2 个版本,但尚未引起注意......
我是一个新手,对于一个正在取代 MPD 的简单用例,这个错误是一个主要的障碍。

我对我的 container做了更多的实验,最初删除了 Moped 以帮助排除任何冲突,但这没有任何作用。

从我的配置中删除以下行有什么帮助:

output = audioresample ! audioconvert ! vorbisenc ! oggmux ! shout2send mount=stream.ogg ip=icecast port=8000 password=hackme

我能够使用 MPC 检查状态并看到轨道按预期进行。

添加以下行允许我使用 Icecast 恢复输出,并且不会发生此错误。

output = lamemp3enc ! shout2send mount=stream.mp3 ip=icecast port=8000 password=hackme

所以我在这一点上的结论是,与输出的 Ogg Vorbis 编码存在一些不良交互。 我想知道是否值得从https://docs.mopidy.com/en/latest/audio/#streaming -through-icecast 中删除该示例,因为它感觉相当具有误导性。

我可以确认 oggmux 的问题,我使用 opusenc 而不是 vorbis 复制了它。 有人可以调查一下吗?

可以将此错误标记为错误吗?
自从这个 bug 被填补以来,已经发布了 2 个版本,但尚未引起注意......
我是一个新手,对于一个正在取代 MPD 的简单用例,这个错误是一个主要的障碍。

先感谢您。

这仍然是一个问题,但它似乎不限于 Icecast,因为它发生在我的默认配置中。

有没有关于这个问题的任何更新? 我在使用 mopidy-subidiy 时遇到了同样的问题,并且我正在使用一个后端插件。 看起来 Gmusic 插件#183 也发生了同样的问题。

编辑:我对 MPD 和 HTTP(使用 Mopidy-Material-Webclient)都有这个问题。 在 MPD 中,我可以通过快速点击 <>(后退)跳到下一首歌曲,所以我猜这是竞争条件还是时间问题? 还可能值得注意的是,歌曲偶尔会到达结尾,并且不会自动转到下一首歌曲。

我也看到了类似的更改曲目失败(这对我来说是一个障碍),默认输出到本地机器当前会话(pulseaudio/Ubuntu18.10)。 曲目更改以与上述相同的方式挂起,尤其是在播放 ogg 文件时,而 mp3 / spotify 工作正常。 我什么都不知道,但是以下(已修复!)Clementine 错误是否类似? https://github.com/clementine-player/Clementine/pull/6103就我而言,我确实有不同采样率的 ogg 文件。

我认为 gstreamer 版本是这里的关键。 如果有问题的人可以尝试降级,那就太好了。

我可以尝试降级; 有我应该尝试的特定版本吗?

可能是 v1.10。

好吧,看来毕竟是gstreamer; 我无法让 v1.10 与 Mopidy 一起工作,但 v1.12.2 没有任何问题。 任何过去的版本似乎都有上述相同的问题。

@pv Clementine 问题很有趣,而且很容易将相同的从队列切换到队列 2 的开关插入到您的 Mopidy 代码中并尝试一下。 到目前为止,我自己一直无法重现它,但也许不同的采样率是关键。

@kingosticks :感谢您的建议。 我确认以下更改(到 mopidy 2.2.2):

--- mopidy/audio/actor.py.old   2019-01-13 14:22:34.377491564 +0200
+++ mopidy/audio/actor.py   2019-01-13 14:22:55.836419833 +0200
@@ -134,7 +134,10 @@
         logger.info('Audio output set to "%s"', description)

     def _add(self, element):
-        queue = Gst.ElementFactory.make('queue')
+        if os.environ.get('MOPIDY_QUEUE2', '0').strip() == '1':
+            queue = Gst.ElementFactory.make('queue2')
+        else:
+            queue = Gst.ElementFactory.make('queue')
         self.add(element)
         self.add(queue)
         queue.link(element)
@@ -492,7 +495,10 @@

     def _setup_audio_sink(self):
         audio_sink = Gst.ElementFactory.make('bin', 'audio-sink')
-        queue = Gst.ElementFactory.make('queue')
+        if os.environ.get('MOPIDY_QUEUE2', '0').strip() == '1':
+            queue = Gst.ElementFactory.make('queue2')
+        else:
+            queue = Gst.ElementFactory.make('queue')
         volume = Gst.ElementFactory.make('volume')

         # Queue element to buy us time between the about-to-finish event and

运行MOPIDY_QUEUE2=0 mopidy时该问题 100% 都存在,并且永远不会出现MOPIDY_QUEUE2=1 mopidy

我发现的最小再现是附加的两个 ogg 文件 --- 它们必须添加到正在播放的文件中,并且从a.ogg切换时queue (gstreamer 1.14.4) 的播放挂起a.oggb.oggqueue2似乎切换得很好。 ab-ogg.zip

也许有多个问题导致了类似的问题,但 queue/queue2 的事情至少在这里似乎可以重现,并且是我看到的问题的错。

好一个。 感谢您的尝试,因为这些文件非常适合复制。 我还在其他地方发现删除 fakesink 似乎可以解决最新 Gstreamer 版本的问题。 因此,如果我将这两者结合在一起并仅使用queue2作为 fakesink,那么除 appsrc (Spotify) 之外的所有内容似乎都可以再次运行。 如果我还想让 appsrc 可靠地工作,那么删除 fakesink 似乎是唯一的方法 - 但也许这是一个完全不同的问题。

好的。 所以我想我现在可以处理这个问题了。 更改曲目时似乎存在多个问题。

  1. 使用shout2send 时。 修复我尝试过的所有管道变体的解决方法是设置async=false sink 参数。 IE
output = tee name=t ! queue ! autoaudiosink t. ! queue ! lamemp3enc ! shout2send async=false mount=mopidy ip=127.0.0.1 port=8000 password=hackme
  1. 如@pv 所见,具有不同采样率的 Tacks
    通过将我们的queue元素替换queue2元素删除我们始终连接的 fakesink 来修复。 后者更可取,因为它目前是多余的。 此外, queuequeue2行为略有不同,appsrc 对缓冲变化非常敏感。

  2. 需要缓冲的流 (#1722)。 日志将包含“发生竞争条件。请参阅#1222 和#1430”消息。

对此的修复将在即将发布的 v2.2.3 版本中进行。

我可以确认从主分支安装(使用pip install --user git+https://github.com/mopidy/mopidy.git )修复了我在维护的 Mopidy 插件中遇到的一些播放问题。 确切的问题是曲目正在正确更改,但无论曲目元数据如何,音频流本身始终相同(来自第一首曲目的那个)。

对此的修复将在即将发布的 v2.2.3 版本中进行。

欢呼! 非常感谢您

我似乎在 Debian 10 的 3.0.1 中遇到了这个问题(详细信息)。

此页面是否有帮助?
0 / 5 - 0 等级