javascript - 如何更改HTML5音频中的播放/按钮图像

标签 javascript html audio controls

我有音频播放器的代码。按下时,请暂停我以更改“播放/暂停”按钮的图片。不幸的是我在js方面不强(

<div class="onlineradio"><img src="images/Radio.jpg" alt="" />
<p><video id="yourAudio" width="0" height="0">
    <source src='http://178.219.160.126:8000/stream.mp3' type='audio/mpeg' preload="auto" />
</video> <a id="audioControl" href="#"><img src="images/radioscalebutton.png" alt="" /></a></p>
</div>
<script>// <![CDATA[
var yourAudio = document.getElementById('yourAudio'),
    ctrl = document.getElementById('audioControl');

ctrl.onclick = function () {

    // Update the Button
    var pause = ctrl.innerHTML === 'pause!';
    ctrl.innerHTML = pause ? 'pause' : 'play';

    // Update the Audio
    var method = pause ? 'pause' : 'play';
    yourAudio[method]();

    // Prevent Default Action
    return false;
};
// ]]></script>

最佳答案

我已经实现了带有自定义音频控件(播放和暂停)以及切换状态按钮的最终工作解决方案。如果您不清楚某些事情,请询问。

这是工作解决方案和the JSFiddle:

var yourAudio = document.getElementById('yourAudio'),
    ctrl = document.getElementById('audioControl'),
    playButton = document.getElementById('play'),
    pauseButton = document.getElementById('pause');

function toggleButton() {
    if (playButton.style.display === 'none') {
        playButton.style.display = 'block';
        pauseButton.style.display = 'none';
    } else {
        playButton.style.display = 'none';
        pauseButton.style.display = 'block';
    }
}

ctrl.onclick = function () {

    if (yourAudio.paused) {
        yourAudio.play();
    } else {
        yourAudio.pause();
    }
    
    toggleButton();

    // Prevent Default Action
    return false;
};
#audioControl img {
    width: 50px;
    height: 50px;
}

#pause {
    display: none;
}
<div class="onlineradio">
    <img src="images/Radio.jpg" alt="" />
    <p>
        <audio id="yourAudio">
            <source src='http://178.219.160.126:8000/stream.mp3' type='audio/mpeg' preload="auto" />
        </audio>
        <a id="audioControl" href="#">
            <img src="http://etc-mysitemyway.s3.amazonaws.com/icons/legacy-previews/icons/glossy-black-3d-buttons-icons-media/002110-glossy-black-3d-button-icon-media-a-media22-arrow-forward1.png" id="play"/>
            <img src="https://www.wisc-online.com/asset-repository/getfile?id=415&getType=view" id="pause"/>
        </a>
    </p>
</div>


您可以下载控件的图像并在本地使用它们。

关于javascript - 如何更改HTML5音频中的播放/按钮图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26095544/

相关文章:

javascript - 使用 jQuery 更改组中单选按钮的值属性

javascript - 在继续下一次迭代之前等待

html - 使用 blaze-html,如何在 html 中创建前导不间断空格

java - 如何在设备 sleep 时保持 ChromeCast session 处于 Activity 状态?

javascript - 无法在 javaScript 中向原型(prototype)添加属性

javascript - jQuery - 如果用户选择了下拉项,则删除该下拉项

c# - Windows Phone 8记录来自麦克风C#的声音

Java - 使用 PPQ 节拍进行计时的自定义 MIDI 音序器的可听滞后

javascript - 函数指针变量覆盖的奇怪场景

javascript - 服务器上的 JQuery 仅间歇性地使用 .appends()