![当应用程序不是活动应用程序时,如何播放音乐?](https://linux22.com/image/869062/%E5%BD%93%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E4%B8%8D%E6%98%AF%E6%B4%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E6%92%AD%E6%94%BE%E9%9F%B3%E4%B9%90%EF%BC%9F.png)
我正在开发一款适用于 Ubuntu Touch 的音乐应用
我不知道如何在我的应用处于后台或屏幕关闭时继续播放音乐。显然,media-hub 是一个平台服务,旨在实现这一点。
但是,我找不到有关 media-hub 的任何文档。目前,我仅使用 QtMultimedia.MediaPlayer 来开始/停止/…播放,这会自动允许我的应用继续播放当前歌曲,即使切换到其他应用程序后也是如此。
现在我还需要修复切换到不同的歌曲当前歌曲播放结束后。我目前对此功能的实现似乎与官方音乐应用程序中使用的相同:将插槽连接到 MediaPlayer 的“statusChanged”信号以检查状态是否为“EndOfMedia”。然后更新 .source 并播放()下一首曲目。这在桌面上有效,并且当应用程序在手机上处于活动状态时有效。如果应用程序未处于活动状态或屏幕已关闭,我必须切换回我的应用程序才能继续播放。
请参阅音乐应用程序的实现,第 222 行:http://bazaar.launchpad.net/~music-app-dev/music-app/remix/view/head:/Player.qml#L222
现在我想知道为什么这似乎对 music-app 有效,但在我的应用中却失败了。也许 music-app 仍然有 2013 年引入的生命周期异常?还是我遗漏了什么?
答案1
<nik90> jhodapp:嘿,我想询问媒体中心播放列表支持的状态。
<nik90> jhodapp:我们有几个第三方音乐应用程序正在寻求添加播放列表支持,如果没有它,我们就无法实现
<w-flo> jhodapp,我也想问同样的问题:)
<jhodapp> nik90,它是我最希望在下一次迭代中完成的工作,所以可能在 2 周左右开始
因此,music-app 仍然使用生命周期异常,但耐心应该有助于解决这个问题。