首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用json从archive.org获取音频文件URLS

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

Stack Overflow用户
提问于 2015-07-19 03:20:41
回答 1查看 806关注 0票数 2

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

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

json格式按以下顺序显示。

036.mp3

016.mp3

但是,详细信息页上的实际订单是

001.mp3

002.mp3

详细信息页面:https://archive.org/details/AhmedAlajmiTheCompleteHolyQuran

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

这就是我到目前为止所拥有的。它只获取mp3 urls。但命令是错的!

代码语言:javascript
复制
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();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-19 04:08:19

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

美时 -Unix风格的文件时间戳

因此,您可以使用JavaScript对其进行排序(在拉动response.files之后将其放在右):

代码语言:javascript
复制
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;
});

另外,如果您只是在提取文件,则只需使用以下命令请求文件:

代码语言:javascript
复制
https://archive.org/metadata/AhmedAlajmiTheCompleteHolyQuran/files

当我运行代码时:

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31497694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档