如何从 Sonos 中删除音频剪辑

Posted

技术标签:

【中文标题】如何从 Sonos 中删除音频剪辑【英文标题】:How to delete audioClip from 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。​​

【问题讨论】:

【参考方案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 “注意:此命名空间是实验性的。某些功能可能尚未按文档说明工作。”

以上是关于如何从 Sonos 中删除音频剪辑的主要内容,如果未能解决你的问题,请参考以下文章

如何从 iOS 中的音频剪辑中检索 PCM 样本数据?

如何使 UIButton 从 UITable 中的选择中播放相应的音频剪辑?

如何将音频剪辑转换为数组以执行 FFT?

AVAudioPlayer 中断后从相同状态恢复音频剪辑

如何正确将 16Bit 字节数组转换为音频剪辑数据?

如何播放长音频剪辑?