Deezer Radio:曲目 ID 不在收音机中
Deezer Radio: Track id not in radio
如何实现Deezer Radio API中的所有曲目保持不变并可播放?
解释:
我在机顶盒上有一个 Deezer 应用程序(HTML+JavaScript,没有外部库)。
应用程序从上面提到的 API 中获取无线电流量列表。然后播放曲目,从 streaming API.
中获取每个曲目的流 URL
有时,许多 API 次调用的无线电曲目列表保持不变,有时 每次调用时列表都会变化 。为什么会这样?当广播曲目不再在广播列表中时,流式传输 API returns 错误:
{
error: {
type: "DataException",
message: "Track id not in radio",
code: 800
}
}
例如,我得到了一个特定电台的 40 首曲目的列表,正常流式传输 API returns 完整流式传输 URL,但每 5 首左右的曲目无法播放( a.k.a.Deezer API 抛出以上错误)这不是因为错误的 API 调用,而是因为该特定曲目不再在 40 首曲目的原始列表中......或者这是我的至少自己的假设。
因此,我正在寻找一种方法来获得一个包含 40 首曲目的固定列表,该列表在我播放所有 40 首曲目并获得新列表之前不会改变。这是可能的还是我遗漏了什么?
谢谢!
有两种实现方式
1) DZ.player.playRadio(radio_id)
可以直接播放电台
2) 如果你真的想要一个固定的列表,你可以在 http://api.deezer.com/radio/radio_id/tracks
上获取曲目列表,然后用 DZ.player.playTracks(tracks)
播放所有曲目
示例:
DZ.api('/radio/30771/tracks', function(result) {
var tracks = result.data.map(function(elem) {
return elem.id;
});
DZ.player.playTracks(tracks);
});
编辑: 在评论中讨论后,解决方案是直接播放曲目,而不在流 url 中提及 radio_id。
如何实现Deezer Radio API中的所有曲目保持不变并可播放?
解释: 我在机顶盒上有一个 Deezer 应用程序(HTML+JavaScript,没有外部库)。
应用程序从上面提到的 API 中获取无线电流量列表。然后播放曲目,从 streaming API.
中获取每个曲目的流 URL有时,许多 API 次调用的无线电曲目列表保持不变,有时 每次调用时列表都会变化 。为什么会这样?当广播曲目不再在广播列表中时,流式传输 API returns 错误:
{
error: {
type: "DataException",
message: "Track id not in radio",
code: 800
}
}
例如,我得到了一个特定电台的 40 首曲目的列表,正常流式传输 API returns 完整流式传输 URL,但每 5 首左右的曲目无法播放( a.k.a.Deezer API 抛出以上错误)这不是因为错误的 API 调用,而是因为该特定曲目不再在 40 首曲目的原始列表中......或者这是我的至少自己的假设。
因此,我正在寻找一种方法来获得一个包含 40 首曲目的固定列表,该列表在我播放所有 40 首曲目并获得新列表之前不会改变。这是可能的还是我遗漏了什么?
谢谢!
1) DZ.player.playRadio(radio_id)
2) 如果你真的想要一个固定的列表,你可以在 http://api.deezer.com/radio/radio_id/tracks
上获取曲目列表,然后用 DZ.player.playTracks(tracks)
示例:
DZ.api('/radio/30771/tracks', function(result) {
var tracks = result.data.map(function(elem) {
return elem.id;
});
DZ.player.playTracks(tracks);
});
编辑: 在评论中讨论后,解决方案是直接播放曲目,而不在流 url 中提及 radio_id。