如何更改html5音频中的播放/按钮图像

时间:2014-09-29 08:27:40

标签: javascript html5 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>

2 个答案:

答案 0 :(得分:0)

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

以下是工作解决方案和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>

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

答案 1 :(得分:0)

Karlen Kishmiryan提出的解决方案只有在每页有一个音频按钮时才有效。