gpt4 book ai didi

javascript - 使用 json 从 archive.org 获取音频文件 URLS

转载 作者:行者123 更新时间:2023-11-30 16:44:11 25 4
gpt4 key购买 nike

Archive.org json 文档:http://archive.org/help/json.php

我正在使用这个网址:https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran

json格式是这样顺序显示的

036.mp3

016.mp3

然而详情页的实际订单是

001.mp3

002.mp3

详情页:https://archive.org/details/AhmedAlajmiTheCompleteHolyQuran

如何让上传者在详细信息页面中显示的排序顺序。为什么 json 以不同的格式排序。我可以根据数字对 url 进行排序,但文件名并不总是按数字排序。

这就是我目前所拥有的。它只是获取 mp3 网址。但是顺序错了!

var urlJ = "https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran";
function functionName() {
var url = "https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran";
var details = "https://archive.org/download/AhmedAlajmiTheCompleteHolyQuran";
function jsonpCallback(response) {
//after success some staff
var files = response.files;
for(var i=0; i < files.length; i++){
if(files[i].source == "original"){
console.log(details + "/" + files[i].name);
}
}
console.log(response.files[0]);
}

$.ajax({
url: url,
dataType: 'jsonp',
error: function(xhr, status, error) {
alert(error.message);
},
success: jsonpCallback
});
return false;
}
functionName();

最佳答案

无法使用提供的 API 对其进行排序,但元数据提供了一种数据,您可以使用它自己进行排序。

mtime - 文件的 Unix 风格时间戳

因此,您可以使用 JavaScript 对其进行排序(在您拉取 response.files 后立即进行排序):

var files = response.files;

for (var i = files.length - 1; i >= 0; i--)
if (typeof files[i].mtime === 'undefined')
files.splice(i, 1);

files.sort(function(a, b) {
return a.mtime - b.mtime;
});

另外,如果你只是拉取文件,你可以只请求文件:

https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran/files

当我运行代码时:

关于javascript - 使用 json 从 archive.org 获取音频文件 URLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31497694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com