我有一个相当复杂的项目,需要一个自定义的音量滑块来控制HTML5视频元素。我把音量控制简化为一个非常简单的例子,我认为没有理由说它不应该工作。我很想知道以下代码的任何见解:
jQuery的:
<script>
$(function() {
$('#volume').change(function () {
newvolume = $('#volume').attr("value") / 100;
$('#video').attr("volume", newvolume);
console.log($('#video').attr("volume"));
});
});
</script>
HTML:
<video id="video" controls="controls">
<source src="http://dev.domain.com/media/16514.m4v">
</video>
<input id="volume" type="range" min="0" max="100" value="100" />
应该注意的是,除了视频剪辑的音量发生可听见的变化外,其他方面似乎都有效。甚至console.log结果返回正确的值(0到1.00)我也尝试了严格的Javascript版本,即videoElement.volume = newvolume
如果它很重要,我正在Safari 5.1.2中进行测试。
答案 0 :(得分:3)
代替$('#video').attr("volume", newvolume);
,试试这个:
$('#video')[0].volume = newvolume;
如果内存服务,volume
不是HTML5中video
的属性,它只能通过DOM元素本身访问。