如何使用滑块更改 HTML5 音频音量或轨道位置? [复制]
Posted
技术标签:
【中文标题】如何使用滑块更改 HTML5 音频音量或轨道位置? [复制]【英文标题】:How to Change the HTML5-audio Volume or Track Position with a Slider? [duplicate] 【发布时间】:2014-01-12 06:36:03 【问题描述】:我知道.play()
和.stop()
方法。
但是有没有办法将滑块链接到音量?还是滑块到轨道位置?这可能吗?
感谢您的帮助。谢谢!
【问题讨论】:
【参考方案1】:jQuery UI 让它变得非常简单:
$(function()
var $aud = $("#audio"),
$pp = $('#playpause'),
$vol = $('#volume'),
$bar = $("#progressbar"),
AUDIO= $aud[0];
AUDIO.volume = 0.75;
AUDIO.addEventListener("timeupdate", progress, false);
function getTime(t)
var m=~~(t/60), s=~~(t % 60);
return (m<10?"0"+m:m)+':'+(s<10?"0"+s:s);
function progress()
$bar.slider('value', ~~(100/AUDIO.duration*AUDIO.currentTime));
$pp.text(getTime(AUDIO.currentTime));
$vol.slider(
value : AUDIO.volume*100,
slide : function(ev, ui)
$vol.css(background:"hsla(180,"+ui.value+"%,50%,1)");
AUDIO.volume = ui.value/100;
);
$bar.slider(
value : AUDIO.currentTime,
slide : function(ev, ui)
AUDIO.currentTime = AUDIO.duration/100*ui.value;
);
$pp.click(function()
return AUDIO[AUDIO.paused?'play':'pause']();
);
);
#player
position:relative;
margin:50px auto;
width:300px;
text-align:center;
font-family:Helvetica, Arial;
#playpause
border:1px solid #eee;
cursor:pointer;
padding:12px 0;
color:#888;
font-size:12px;
border-radius:3px;
#playpause:hover
border-color: #ccc;
#volume, #progressbar
border:none;
height:2px;
#volume
background:hsla(180,75%,50%,1);
#progressbar
background:#ccc;
.ui-slider-handle
border-radius:50%;
top: -5px !important;
width: 11px !important;
height: 11px !important;
margin-left:-5px !important;
<link rel="stylesheet" href="//code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-3.1.0.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<div id="player">
<audio id="audio" src="http://upload.wikimedia.org/wikipedia/en/4/45/ACDC_-_Back_In_Black-sample.ogg" autoplay loop>
<p>Your browser does not support the audio element </p>
</audio>
<div id="volume"></div><br>
<div id="progressbar"></div><br>
<div id="playpause"></div>
</div>
【讨论】:
谢谢。我不知道它这么简单,我以为会有更多内容。 还有一个问题,我可以通过更改audio.volume
来更改轨道的位置吗,如果可以,我也要更改什么?以上是关于如何使用滑块更改 HTML5 音频音量或轨道位置? [复制]的主要内容,如果未能解决你的问题,请参考以下文章