Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/75.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
Php 仅在单击链接时加载音频文件_Php_Jquery_Audio - Fatal编程技术网

Php 仅在单击链接时加载音频文件

Php 仅在单击链接时加载音频文件,php,jquery,audio,Php,Jquery,Audio,我做了一个定制的音频/视频管理器,效果很好。问题是,我没料到这个人会像他们那样添加那么多条目,现在速度相当慢。页面加载后音频无法立即播放约15-20秒,之后一切正常 我通过php查询数据库,然后是jQuery: <?php foreach($results as $row) { ?> var audioElement<?=$row[0]?> = document.createElement('audio'); audioElement<?=$ro

我做了一个定制的音频/视频管理器,效果很好。问题是,我没料到这个人会像他们那样添加那么多条目,现在速度相当慢。页面加载后音频无法立即播放约15-20秒,之后一切正常

我通过php查询数据库,然后是jQuery:

<?php
  foreach($results as $row) {
?>
    var audioElement<?=$row[0]?> = document.createElement('audio');
    audioElement<?=$row[0]?>.setAttribute('class', 'div-<?=$row[0]?>');
    audioElement<?=$row[0]?>.setAttribute('src', '<?=$row[4]?>');
    $.get();
    audioElement<?=$row[0]?>.addEventListener('load', function() {
        pause(playing);
        play(<?=$row[0]?>);
    }, true);
    $('.play<?=$row[0]?>').click(function() {
        if (playing==<?=$row[0]?>) {
            pause(<?=$row[0]?>);
        } else {
            pause(playing);
            play(<?=$row[0]?>);
        }
    });
<?php
我希望只加载音频文件,一旦相应的链接被点击,然而,它仍然有滞后时间在第一次点击。我在上运行了测试,编辑后页面速度大大提高,显示没有加载音频。所以我不知道为什么它需要这么长时间才能在最初的点击中播放

与问题相关的页面:


有什么想法吗?

我在轨道上看到了301,这会让事情慢下来一点,但它在半秒左右的时间里仍然开始在这里播放…@rjdown是的,我的同事出于某种原因移动了网站并添加了301。它弹得那么快?你必须是隔壁的服务器lol的网站所有者提请我注意,所以他也有同样的问题。对我来说,它唯一能播放得这么快的时候是在第一次播放之后,然后全部播放正常,或者我加载页面,让它保持15-20秒不变。如果在浏览器停止加载时单击鼠标右键,它是否播放得那么快?是的,第一首曲目播放不到一秒钟。ip2location表示您的服务器位于美国亚利桑那州。我现在在英国,离这里很远!顺便说一下,最新的chrome和firefox也是如此……这很奇怪,因为我在加利福尼亚。感谢@rjdown花时间做这件事。
    <?php
      foreach($results as $row) {
    ?>
        var audioElement<?=$row[0]?> = document.createElement('audio');
        audioElement<?=$row[0]?>.setAttribute('class', 'div-<?=$row[0]?>');

    // added the line below
    $('.play<?=$row[0]?>').click(function(){

        audioElement<?=$row[0]?>.setAttribute('src', '<?=$row[4]?>');

    // also added
    });
        $.get();
        audioElement<?=$row[0]?>.addEventListener('load', function() {
            pause(playing);
            play(<?=$row[0]?>);
        }, true);
        $('.play<?=$row[0]?>').click(function() {
            if (playing==<?=$row[0]?>) {
                pause(<?=$row[0]?>);
            } else {
                pause(playing);
                play(<?=$row[0]?>);
            }
        });
    <?php
  }