如何只允许几个音频文件中的一个在页面上播放?

时间:2013-07-02 03:38:04

标签: html html5-audio

所以,我将在一个页面上有几个音频文件。我想知道如何制作它,以便只有一首歌可以同时播放。现在,我可以点击所有文件上的“播放”,它们都开始播放。有没有办法让它如果正在播放song1并且我在song2上点击“播放”,那么song1将停止播放?

以下是我2首歌曲的基本代码:

    <table>
                <tr>                       <!--Off The Grid-->
                    <td>Off The Grid</td>  
                    <td>                   <!--Audio File -->
                        <object width="200px" height="15px">
                            <param name="src" value="../audio/off_the_grid_michael_pitluk.mp3">
                            <param name="autoplay" value="false">
                            <param name="controller" value="true">
                            <param name="bgcolor" value="#ffffff">
                            <embed src="../audio/off_the_grid_michael_pitluk.mp3" autostart="false" loop="false" width="75px" height="40px" controller="true" bgcolor="#ffffff"></embed>
                        </object>
                    </td>                  <!--End Audio File -->
                </tr>                      <!--End Off the Grid -->
                <tr>                       <!--Far-Sighted-->
                    <td>Far-Sighted</td>
                    <td>
                        <object width="200px" height="15px">
                            <param name="src" value="../audio/far_sighted_michael_pitluk.mp3">
                            <param name="autoplay" value="false">
                            <param name="controller" value="true">
                            <param name="bgcolor" value="#ffffff">
                            <embed src="../audio/far_sighted_michael_pitluk.mp3" autostart="false" loop="false" width="75px" height="40px" controller="true" bgcolor="#ffffff"></embed>
                        </object>
                    </td>
                </tr>
            </table>

注意:这里还有另一个问题与我的完全相同,但我根本不理解代码。也许我需要学习特定的代码。有人能告诉我代码语言是什么吗? Here is the other question。我似乎需要学习一种脚本语言或其他东西来解决这个问题。

1 个答案:

答案 0 :(得分:0)

AFAIK,要实现音频播放的互斥,您需要编写脚本。

您提到的示例位于JavaScript,但使用jQuery框架。

$(document).ready(function(){ 
    $("#play-bt").click(function(){
        $("#audio-player")[0].play();
    })

    $("#stop-bt").click(function(){
        $("#audio-player")[0].pause();
        $("#audio-player")[0].currentTime = 0;
    })
})

该代码附加了“文档已准备好解析”event handler。在该处理程序中,两个单击事件处理程序附加到“播放”和“停止”按钮。

简而言之,它是一个手动激活的播放器。下面的解决方案将“关闭所有内容”功能移动到一个独立的功能,根据需要调用。

详细了解DOMDOM events。这是一个纯DOM和JavaScript引用。为了使Internet Explorer(特别是旧版本)能够正常工作,你必须自己调整一些东西或者(更容易),使用jQuery。