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

2024-03-29

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

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

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

我也愿意接受更改服务器发送文件方式的建议:服务器是在flask http://flask.pocoo.org/


这样的事情会起作用吗?

<!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 文件,因此无法对此进行测试。

<?php echo 'http://junaidahmed.io/w/audio.mp3'; ?>

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何发送 AJAX POST 请求并播放响应中的音频? 的相关文章

随机推荐

  • Firebase 推送通知在 NuxtJS 中停止工作

    我再次在推送通知方面遇到一些麻烦 几周前相同的代码也有效 昨天我无意中发现推送通知不再起作用 我正在做的和写的一样文档 https firebase google com docs cloud messaging js receive 我使
  • 如何使用 Python PPTX 设置图表标题的字体大小?

    我添加了一个图表 doughnutchart data add series YTD COMPLETION TO PLAN PerformancePercent NotPerformedPercent 这为我提供了带有文本的图表标题 但如何
  • 在多台笔记本电脑上运行相同的 Rails 代码并将所有笔记本电脑的数据保存到同一个数据库

    我正在尝试在 localhost 3000 上的多台笔记本电脑上运行相同的 Rails 代码 如何将从不同笔记本电脑提交的数据保存在单个数据库中 或者 他们将共享相同的数据库 如果有人提交了数据 数据将自动存储在其他人的笔记本电脑上 还要考
  • 静态方法内的变量共享

    我对静态方法内的变量有疑问 静态方法内的变量是否共享相同的内存位置 或者它们有单独的内存吗 这是一个例子 public class XYZ Public Static int A int value int b value return b
  • 删除div中的空行

    我有一个标签 pre this is a this is b this is c pre 浏览器解析后输出 this is a this is b this is c 我想要的是 this is a this is b this is c
  • JSF 2.0 无法从 primefaces 渲染对话框

    最近我在使用 primefaces 组件时遇到了很多问题 我不知道为什么 我使用glassfishV3 0 我的primefaces版本是2 2 1 我现在的问题是 当我单击表行时 我无法使 primefaces 的 p dialog 呈现
  • 清除 symfony 2 中日志文件的命令

    我想知道 Symfony 2 中是否有清除日志文件的命令 虽然有php app console cache clear要清除缓存 我不知道任何命令来清除日志文件 logs dev log 和logs prod log 我一直手动清除这些日志
  • 如何在C++中存储1000000位整数

    在我的问题中 我必须保存大整数 例如最多 1000000 位数字 并执行一些操作 我该怎么做 我知道 C 中的 long int 最多可以存储 10 位数字 您可以使用GMP http gmplib org GNU 任意精度库 请注意 这不
  • 如何在 R 中使用范围数据显示离散类别中的频率?

    我正在尝试整理我掌握的有关恐龙及其年龄范围的大量数据 到目前为止 我的数据由一列名称组成 然后是两列过去数百万年的最大和最小日期 如下所示 GENUS ma max ma min ma mid Abydosaurus 109 94 3 10
  • android:等待连接时显示进度对话框

    我试图在启动新活动时添加一个进度对话框 该活动必须等待来自互联网的响应 目前 等待时屏幕会变黑 有谁知道它需要放置在哪里才能工作吗 这个进度对话框 ProgressDialog dialog ProgressDialog show Sear
  • 多行 UIButton 和自动布局

    我创建了一个视图控制器 如下所示 我希望两个顶部按钮与整个视图的左 右边缘之间始终保持 20 个点 它们也应该始终具有相同的宽度 我已经为所有这一切创建了约束 并且它完全按照我想要的方式工作 问题是垂直限制 按钮应始终位于顶部边缘下方 20
  • 如何在 Dancer 模板中制作特定于页面的标题?

    我有一个标准的 Perl Dancer 应用程序 使用 Template Toolkit 作为渲染引擎 有两条路线 get gt sub template index get foo gt sub template foo My views
  • Doctrine2 将实体导出到数组

    I have Product具有多对一的实体Category实体 我需要商店Product会议中 首先我尝试实施 Serializable产品上的界面 我应该如何序列化我的相关Category实体 我是否也应该实施 Serializable
  • 错误!代码 EPERM

    我正在使用 Node v6 11 2 npm v5 3 0 和 Angular cli v1 2 7 我的大部分 npm 安装突然收到以下错误消息 以前没见过 mmeppiel MC LT MMEPPIEL MINGW64 Desktop
  • 我可以在调用 Flask app.run 之后让 Python 代码继续执行吗?

    尽管过去 30 年来我一直在使用其他语言进行编程 但我才刚刚开始使用 Python 我想让我的第一个应用程序保持简单 所以我从一个托管在 Raspberry Pi 上的小型家庭自动化项目开始 我的代码工作正常 控制阀门 读取流量传感器并在显
  • 使用 Django 和 Twilio 通过短信进行一次性用户身份验证

    我正在 Django 中为我正在创建的移动应用程序编写后端 我需要在用户第一次通过短信打开移动应用程序时对其进行身份验证 以验证其是否为真人 需要发生的事情如下 用户在应用程序中输入电话号码 服务器然后向用户发送带有验证码的短信 然后用户在
  • 如何通过 VSCode 始终在新窗口中打开文件?

    Using MacOS Mojave VSCode 1 28 2 我在文本编辑中使用 VSCode 如 js txt csv 当我双击并在 Finder 或桌面中打开文件 或 在 VSCode 中打开 时 如果我打开另一个工作区 它会在与我
  • 我可以为 C# 中的匿名类指定一个有意义的名称吗?

    我们都知道 当我们创建这样的匿名类时 var Employee new ID 5 Name Prashant 在运行时它将是以下类型 lt gt f AnonymousType0
  • gcc 优化标志 -O3 使代码比 -O2 慢

    我找到这个话题为什么处理排序数组比处理未排序数组更快 https stackoverflow com questions 11227809 why is processing a sorted array faster than an un
  • 如何发送 AJAX POST 请求并播放响应中的音频?

    我正在构建一个应用程序 用户可以单击按钮 然后它将数据发送到服务器 然后 服务器根据请求 很可能是 POST 中的数据计算音频 并将 WAV 文件返回到浏览器 我已经构建了接受 post 请求并使用 wav 文件响应的部分 但我不知道如何在