<分区>
我知道 .play()
和 .stop()
方法。
但是有没有办法将 slider 链接到音量?还是 slider 到轨道位置?这可能吗?
并感谢您的帮助。谢谢!
<分区>
我知道 .play()
和 .stop()
方法。
但是有没有办法将 slider 链接到音量?还是 slider 到轨道位置?这可能吗?
并感谢您的帮助。谢谢!
最佳答案
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>
关于javascript - 如何使用 slider 更改 HTML5 音频音量或轨道位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20753756/
相关文章:
javascript - C# 正则表达式在 Javascript 中不起作用
javascript - 尝试使用javascript来填充按钮类的标签
html - <span> 在 <div> 的右下角没有 "position:absolute"
javascript - 选中复选框时使 div 可见的附加 Javascript 代码
javascript - 滚动顶部不等于向上移动 block
javascript - 将快照中的所有 Firestore 时间戳转换为 JS 日期的方法?
javascript - 如何检测 rel ="noreferrer"支持?