javascript - 传递 createObjectURL

标签 javascript url audio fileapi

我想将 window.URL.createObjectURL(file) 创建的地址传递给 dancer.js 但我得到 GET blob:http%3A//localhost/b847c5cd-aaa7- 4ce0-8ff8-c13c6fc3505a.mp3 404(未找到)

我设法使用通过文件输入选择的文件创建音频元素,但 dancer.js 根本找不到该文件……有什么想法吗? (下面是我如何传递 ObjectURL)

    $(document).ready(function(){
    $("#submit").click(function(){
        var file = document.getElementById("file").files[0];
        $('body').append('<audio id="audio" controls="controls"></audio>');
        $('#audio').append('<source src='+window.URL.createObjectURL(file)+' type=audio/mpeg />')
        $('body').append('<a href='+window.URL.createObjectURL(file)+'>link</a>')
        dancer(window.URL.createObjectURL(file));
    })
})

最佳答案

查看 dancer.js readme它看起来像 load方法将采用对 <audio> 的引用指定源的元素或配置对象:{scr: varHoldingFileURL} .由于您已经在创建 <audio>你文件的元素我会把它传递给舞者:

$(document).ready(function() {
    var dancer = new Dancer(),
        fileURL;

    $("#submit").click(function(){
            var audioElement,
                file = document.getElementById("file").files[0];

            fileURL = window.URL.createObjectURL(file);

            // remove any preexisting instances of the audio tag
            $('#audio').remove();

            // Revoke any previously used file URL so it doesn't
            // take up memory anymore.
            window.URL.revokeObjectURL(fileURL);

            $('body').append('<audio id="audio" controls="controls"></audio>');
            $('#audio').append('<source src='+ fileURL +' type=audio/mpeg />')
            $('body').append('<a href=' + fileURL +'>link</a>')

            // get a reference to the audio element we created
            audioElement = $('#audio')[0];

            dancer.load(audioElement);
    })
});

关于javascript - 传递 createObjectURL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15012500/

相关文章:

javascript - 使用 for 循环在一个字符串中插入多个字符串

html - 如何使用带有图标的html音频标签?

javascript - HTML音频onplay()事件期间,对超赞字体图标的动画效果

javascript - 根据另一个数组的排序索引对数组进行排序

javascript - 将 JSX 格式的字符串注入(inject) React 组件

javascript - 标签ID名与JS函数名冲突

javascript - 更改浏览器中的 URL 而不使用 JavaScript 加载新页面

c# - Action 命中 MVC 后更改 URL?

javascript - 如何使用 jQuery 检索 URL 查询字符串中包含的多个十六进制值?

android - 为什么音乐无法在 Android 版 Chrome 上播放?