首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何发送AJAX POST请求并播放响应中的音频?

如何发送AJAX POST请求并播放响应中的音频?
EN

Stack Overflow用户
提问于 2017-07-04 11:42:44
回答 1查看 10K关注 0票数 4

我正在构建一个应用程序,用户可以在其中单击一个按钮,它会将数据发送到服务器。然后,服务器根据请求中的数据计算音频(最有可能是POST),并将WAV文件返回给浏览器。

我已经构建了接受post请求并使用wav文件响应的部分,但我不知道如何在JS中发送请求并向用户播放响应。

此外,音频的播放必须(几乎)从第一个字节开始,因为音频文件非常大,用户不能只是等待请求完成。

我也乐于接受改变服务器发送文件方式的建议:服务器是用flask制作的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-04 13:25:26

像这样的东西可以工作吗?

代码语言:javascript
运行
复制
<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>

    <audio controls>
        <source id="source" src="" type="audio/mpeg">
        Your browser does not support the audio element.
    </audio>

    <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script type="text/javascript">
        $.ajax({
            url: 'get.php',
            data: { attr1: 'value1' },
            success: function( data ) {
                console.log(data);
                $('audio #source').attr('src', data);
                $('audio').get(0).load();
                $('audio').get(0).play();
            }
        });
    </script>
</body>
</html>

get.php只打印音频文件链接。请注意,我没有得到任何WAV文件,所以不能测试它。

代码语言:javascript
运行
复制
<?php echo 'http://junaidahmed.io/w/audio.mp3'; ?>

我在上面打印的音频是30分钟,文件大小约为13mb。我的互联网速度不够快,无法在一两秒内加载整个文件,但它马上就会播放。

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

https://stackoverflow.com/questions/44896667

复制
相关文章

相似问题

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