Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery缓冲整个音频文件并准备播放它_Javascript_Jquery_Html_Audio - Fatal编程技术网

Javascript jquery缓冲整个音频文件并准备播放它

Javascript jquery缓冲整个音频文件并准备播放它,javascript,jquery,html,audio,Javascript,Jquery,Html,Audio,基本问题 是否有任何网页音频播放器会在页面加载后立即缓冲(下载)整个音频文件,并在一个页面上使用多个音频文件进行缓冲(下载) 更多信息 我正在用我自己开发的一个网络应用程序进行现场舞台表演。一些表演者有他们想在表演中播放的音轨(例如:魔术表演的音乐) 音箱里提示音乐的家伙现在面前有我的web应用程序(只是一个jQuery PHPwebpage),这样他就可以看到演出的顺序。在演出之前,他需要通过他的电子邮件下载所有发送给他的音频曲目。所以,他在快速播放曲目,然后跳到chrome上看音符和其他东西

基本问题 是否有任何网页音频播放器会在页面加载后立即缓冲(下载)整个音频文件,并在一个页面上使用多个音频文件进行缓冲(下载)

更多信息 我正在用我自己开发的一个网络应用程序进行现场舞台表演。一些表演者有他们想在表演中播放的音轨(例如:魔术表演的音乐)

音箱里提示音乐的家伙现在面前有我的web应用程序(只是一个
jQuery PHP
webpage),这样他就可以看到演出的顺序。在演出之前,他需要通过他的电子邮件下载所有发送给他的音频曲目。所以,他在快速播放曲目,然后跳到chrome上看音符和其他东西

我希望表演者能够将曲目上传到我的应用程序中,然后录音室的人可以直接从chrome上播放它们。唯一需要注意的是,我想确保这些曲目在演出前完全下载,这样音乐就不会在演出中期中断

我的表演者是不可预测的,也不希望有一个复杂的过程,我不希望他们把所有的曲目都放在SoundCloud或其他东西上。我希望能够接收
mp3
aif
,或任何东西。

下载音频 因此,如果将其放入Jquery$(document).ready()函数中(当页面加载时),看起来这是可能的。原始代码感谢。更多关于这个的信息

设置player.src后,将尝试加载音频

因此,您需要做的是创建一个播放器数组,以及它们的源位置数组(即一些音频托管网站/服务-如果您不使用任何其他内容,可能是dropbox),并在页面加载时简单地迭代。通过这种方式,您的用户可以手动上传到托管服务,或者您的网站可以使用托管服务的API()处理此问题

跟踪您的音频 由于您将使用多个文件,并且用户将上传更多的即时消息猜测,因此最好为每个文件保留所有网站源位置的列表(否则您将不知道要加载哪些src位置/文件名)

实现这一点的一个解决方案是,在加载网页时(在加载音频之前),存储php服务器端并使用AJAX请求获取包含音频文件所需信息的全局对象

一个例子是:

$.ajax({
    type: "POST",
    url: 'server.php',
    dataType: 'json',
    data: {"data":"check"},
    success: function(data){

        var audioPlayersMetadata = $.parseJSON(data);

        for(var i = 0; i < audioPlayersMetadata.nPlayers; i++){
          audioPlayers[i].src = audioPlayersMetadata.playerSrc[i];
        }

    }
 });
$.ajax({
类型:“POST”,
url:'server.php',
数据类型:“json”,
数据:{“数据”:“检查”},
成功:功能(数据){
var audioPlayersMetadata=$.parseJSON(数据);
对于(var i=0;i
假设在PHP代码中创建了一个JSON对象,其中包含
nLayers
参数和
playerSrc
数组参数

例如,每次您想要加载新的音频文件时,都必须以类似的方式执行相同的操作。但这次发送一个请求,向
playerSrc
数组添加数据,并将
nLayers
增加1

这些只是我的建议,但希望它能让你更接近你的目标;播放前下载的音频现在应该进行排序

另外,如果只有一个人在使用它,那么构建一个编译过的应用程序可能更值得?您甚至可以使用JS/HTML/CSS编写它,这样您就可以完全在本地存储文件

$.ajax({
    type: "POST",
    url: 'server.php',
    dataType: 'json',
    data: {"data":"check"},
    success: function(data){

        var audioPlayersMetadata = $.parseJSON(data);

        for(var i = 0; i < audioPlayersMetadata.nPlayers; i++){
          audioPlayers[i].src = audioPlayersMetadata.playerSrc[i];
        }

    }
 });