- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在尝试使用 createMediaElementSource 将音频元素连接到网络音频 api 并让它工作,但我需要做的一件事是更改音频标签的播放速率,但我无法让它工作.
如果您尝试运行下面的代码,您会发现它可以正常工作,直到您取消注释我们设置播放速率的行。当此行处于音频中时,音频将被静音。
我知道我可以使用 source.playbackRate.value 在 AudioBufferSourceNode 上设置播放速率,但这不是我想要做的,我需要在音频元素连接到网络音频时设置播放速率api 使用 createMediaElementSource,所以我没有任何 AudioBufferSourceNode。
有人成功过吗?
var _source,
_audio,
_context,
_gainNode;
_context = new webkitAudioContext();
function play(url) {
if (_audio) {
_audio.pause();
}
_audio = new Audio(url);
//_audio.playbackRate = 0.6;
setTimeout(function() {
if (!_gainNode) {
_gainNode = _context.createGainNode();
_gainNode.gain.value = 0.1;
_gainNode.connect(_context.destination);
}
_source = _context.createMediaElementSource(_audio);
_source.connect(_gainNode);
_audio.play();
}, 0);
}
play("http://geo-samples.beatport.com/items/volumes/volume2/items/3000000/200000/40000/9000/400/60/3249465.LOFI.mp3");
setTimeout(function () {
_audio.pause();
}, 4000);
最佳答案
您必须在音频开始播放后设置播放速率。我发现使这项工作唯一可移植的方法是等待,直到您获得具有有效 currentTime
的 timeupdate
事件:
_audio.addEventListener('timeupdate', function(){
_if(!isNaN(audio.currentTime)) {
_audio.playbackRate = 0.6;
}
});
请注意,android 目前不支持播放速率,Chrome(桌面版)不支持低于 0.5 的播放速率。
关于javascript - 在连接到网络音频 api 的音频元素上设置 playbackRate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10239757/
我有一个带有 HTML5 视频播放器的页面。我使用 jQuery 创建了一个非常简单的播放速度切换按钮。 用户点击该按钮,每按一次,视频的 playbackRate 属性的速度就会乘以 2。 因此您可
我正在尝试使用振荡器将音高颤音应用到 AudioBufferSource。 var source = context.createBufferSource(); source.connect(cont
我正在尝试使用 QMediaPlayer 创建一个..媒体播放器。我希望能够在按下按钮时倒带视频。 但是通过 QMediaPlayer.setPlaybackRate 设置负的 playbackRat
我一直在尝试使用 createMediaElementSource 将音频元素连接到网络音频 api 并让它工作,但我需要做的一件事是更改音频标签的播放速率,但我无法让它工作. 如果您尝试运行下面的代
我正在播放 HTML 和 JS/JQuery 中的音频以构建音频播放器。我有播放、暂停和快进功能,但没有倒带或后退功能。在W3Schools Documentation它说: playbackspee
属性 playbackRate 在 Android (Chrome) 上不起作用。 Example HTML: Video.js Example Embed 1.0
一些背景知识: 人们喜欢游戏。 人们使用互联网。 互联网需要游戏。 游戏使用声音。 HTML5 有 . 好的,到目前为止一切都很好。 最近我发现 - 令我惊讶的是 - IE9 实际上支持 playb
有没有人注意到: document.querySelector("audio").playbackRate = 1.5 每次更改时都会导致轻微跳过。有谁知道解决这个问题?即使需要 Cordova ?
如标题所述,当连接到 Firefox 内的 WebAudioAPI 时,我遇到了有关 HTMLVideoElement 的问题。 以下示例提供了重现问题的最小示例: var video =
我需要知道正在播放的源的当前时间,但我不能使用 context.currentTime,因为当我更改 source.playbackRate.value 时,上下文的速率也不会改变,所以我无法确定声音
我正在使用网络音频播放一首歌曲,并且在播放该歌曲之前安排了两次播放速率更改。第一个playbackRate 更改生效,但第二个永远不会触发。这是预期的行为吗?为了使这项工作顺利进行,我还缺少什么吗?
我不知道如何在 iPhone 上使用 HTML5 为音频播放器执行简单的快进和快退。所有 Apple 文档均表示应为此使用 playbackRate。我已经观看了 WWDC 2009 和 2010 s
我是一名优秀的程序员,十分优秀!