【问题标题】:How to delete audioClip from Sonos如何从 Sonos 中删除音频剪辑
【发布时间】:2021-03-07 10:37:20
【问题描述】:

我正在尝试在我的 Sonos 播放器上播放音频剪辑,并在几秒钟后取消它(此时只是在播放)。根据Sonos documentation,我应该对/players/{playerId}/audioClip/{id} 进行DELETE 调用。这里已经有些混乱了,因为在下面,在他们的示例中,它们显示DELETE https://api.ws.sonos.com/control/api/v1/households/{{householdId}}/players/{{playerId}}/audioClip/{id}

这就是我要做的:

curl -X POST -H "Content-Type: application/json" -H "Authorization: Bearer myToken" "https://api.ws.sonos.com/control/api/v1/players/RINCON_XXXXX/audioClip" -d '{"appId":"myAppId", "name":"song", "streamUrl":"https://whatever.com/song.mp3", "priority":"HIGH"}'
{"id":"8","name":"song","appId":"myAppId","priority":"HIGH","clipType":"CUSTOM"}

这可以正常工作,并且音频剪辑开始在我的 Sonos 上播放。

这里出了问题:

curl -X DELETE -H "Content-Type: application/json" -H "Authorization: Bearer myToken" "https://api.ws.sonos.com/control/api/v1/players/RINCON_XXXXX/audioClip/8"
{"errorCode":"ERROR_UNSUPPORTED_COMMAND","reason":"Command not found"}               

我尝试遵循其他结构(包括 URI 中的家庭),但这没有帮助。

它运行的软件版本为 57.4-83220 和 apiVersion 1.18.9。​​

【问题讨论】:

    标签: sonos


    【解决方案1】:

    文档说id 是:

    来自 playAudioClip 响应的音频剪辑的标识符。

    所以它可能返回另一个 ID,与您用于识别剪辑的 ID 不同。

    【讨论】:

    • 嗯,他们对我的 POST 请求的响应是 {"id":"8","name":"song","appId":"myAppId","priority":"HIGH","clipType":"CUSTOM"} 这就是我使用的 id (8)
    • 很公平 - 我注意到这里说 developer.sonos.com/reference/control-api/audioclip “注意:此命名空间是实验性的。某些功能可能尚未按文档说明工作。”