HTML 5 audio.playbackRate无法在iPad上运行,但适用于Windows上的Safari

问题描述 投票:1回答:3

下面的代码没有任何效果(在按下PlayFast按钮iPad之前,音频继续以相同的方式播放。它在Windows上的Safari上运行得很漂亮

function playFast() 

       { 
            var myVideo = document.getElementsByTagName('audio')[0]; 
            myVideo.playbackRate = myVideo.playbackRate + 1; 
            alert(myVideo.playbackRate);
       }

最初playbackRate设置为1

任何人都可以帮忙。

ipad html5 html5-audio
3个回答
1
投票

JavaScript中的播放率

您可以将音频或视频playbackRate属性设置为非零值,以便在桌面上的Safari中以慢动作(值> 0和<1)或快进(值> 1)播放媒体。 iOS目前不支持设置playbackRate。


1
投票

要在iOS上使用Apple的官方statement更新答案:

您可以将音频或视频playbackRate属性设置为非零值,以便在桌面上的Safari中以慢动作(值> 0和<1)或快进(值> 1)播放媒体。 iOS目前不支持设置playbackRate。

话虽如此,我已设法使用以下代码更改iPad / iOS7上的playbackRate。在设置playbackRate之前,您似乎需要暂停视频。我现在只是想知道Apple文档是否是最新的(?)

<video controls id="videoTag" width="640" height="360" preload="none">
<source src="media/360p.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' id="mp4Source">
</video>
<div id="change">change rate to x2</div>
<div id="change2">change rate to x0.5</div>
<script type="text/javascript">
var video = document.getElementById('videoTag');
video.addEventListener('canplay',function(){
document.getElementById('change').addEventListener('click',function(){
    video.pause();
    video.playbackRate = 2.0;
    video.play();
},false);
document.getElementById('change2').addEventListener('click',function(){
    video.pause();
    video.playbackRate = 0.5;
    video.play();
},false);
},false);
</script>

1
投票

您可以将音频或视频playbackRate属性设置为非零值,以便在桌面和iOS 6+上的Safari中以慢动作(值> 0和<1)或快进(值> 1)播放媒体。

资料来源:https://developer.apple.com/library/archive/documentation/AudioVideo/Conceptual/Using_HTML5_Audio_Video/Device-SpecificConsiderations/Device-SpecificConsiderations.html#//apple_ref/doc/uid/TP40009523-CH5-DontLinkElementID_1

© www.soinside.com 2019 - 2024. All rights reserved.