【问题标题】:CustomSD service not able to play tracksCustomSD 服务无法播放曲目
【发布时间】:2021-09-13 19:50:51
【问题描述】:

我目前正在开发一项音乐服务并通过 customd 对其进行测试。控制器应用程序中的集成正在运行(iOS 应用程序和 Windows 桌面应用程序) - 所以我可以浏览 - 但我无法让播放器播放任何曲目。一旦我点击控制器中的“播放”按钮,我就会不断收到“无法连接”错误。我可以在服务端看到 Player 发送一个 getMetadata 和一个 getMediaURI 请求,并且该服务提供的 SOAP 响应与来自另一个来源的工作示例相同;但是,播放器似乎无法处理它们。我有点卡住了,我想对我有帮助的是播放器日志。有没有办法得到它们? 或者,是否有人对问题的根本原因有任何其他想法?

编辑:或多或少偶然,我遇到了问题的原因。虽然一般来说,Sonos 可以处理任意 ID,但 getMediaURI 似乎仅在它请求 URI 以获取 track:something 形式的 ID 时才有效。我不记得在开发者页面上看到这是一项要求。

不管怎样,现在开始工作了。

【问题讨论】:

    标签: sonos


    【解决方案1】:

    如果您收到getMediaURI 请求并以有效响应对其进行响应,则播放器很可能无法处理媒体文件本身。您是否看到正在下载的媒体文件?您可以在本地托管媒体文件,并在 getMediaURI 响应中包含该 URI 以进行检查。

    请注意,元数据中包含的<mimeType> 用于告知播放器getMediaURL 响应中的URI 指向的媒体类型。

    因此,如果您要为 track123 返回 <mimeType>audio/ogg</mimeType>,但 getMediaURI 的响应包含 URI https://something.xyz/track123.mp3,则播放可能会由于不匹配而失败。

    【讨论】:

      【解决方案2】:

      你见过bonob吗?有人为 navidrome(自托管音乐库,la spotify)制作了一个音乐服务模拟器。它应该是帮助您入门的绝佳资源。

      他写道,您的音乐服务必须在 https 上可用才能开始运行。

      注意,我是sonos-ts 的开发人员,这是一个从 typescript 和 node 控制 sonos 扬声器的库。并记录了外部音乐服务here

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-11
        • 2019-12-23
        • 1970-01-01
        • 2013-03-21
        • 1970-01-01
        • 1970-01-01
        • 2017-02-09
        • 2012-07-21
        相关资源
        最近更新 更多