7

这只是在 Google 发布 Google Music 的 All Access 之后的一天,但流式(非拥有)媒体的 JSON 响应中的 URL 数组包含不会流式传输的 URL。有人调查过这个吗?他们播放了几分之一秒,然后终止。

4

1 回答 1

2

我一直在研究它,虽然我还没有找到解决方案,但我相信这可能有助于确定需要做什么:

请注意,URL 有一个范围参数,但请注意第一个参数可能类似于:

 range=0-39706

但下一个将是:

 range=37615-119118

下一段的开始值会小于上一段结束的值,这似乎很奇怪。我的高级猜测是,我们将需要使用此范围写入文件并适当地附加字节,以便它们按顺序排列。

但这只是我的猜测,没有尝试过这样做,但我正在努力。

更新

我已经成功完成了上述任务,但是在 C++ 中使用的是 Qt 框架而不是 Android。但在我的实现中似乎确实存在一些问题,因为每个片段都有奇怪的吱吱声,所以我可能需要稍微调整字节位置,但我现在可以通读整首歌曲。

不完全确定这将如何转化为 Android,但我认为它会是这样的:

File file = new File("tempFile");
file.open(WRITE_ONLY);
file.write(startingByte, data);

当你循环时,只需解析出每个段的起始字节。

编辑

发现我的问题是我在每个段之后都关闭了文件。如果我让文件保持打开状态,直到我完成所有片段的编写,那么歌曲就会完美播放。

于 2013-05-29T17:38:30.647 回答