yPh*_*hil 6 javascript firefox google-chrome html5-audio
这真让我抓狂.这是我用来设置当前时间的代码:
$("#audio").click(function(e) {
e.preventDefault();
mr_waveform_skip(e)
});
function mr_waveform_skip(event) {
clientX = event.clientX;
left = event.currentTarget.offsetLeft;
clickoffset = clientX - left;
percent = clickoffset/event.currentTarget.offsetWidth
audio_duration = audio_element.duration;
duration_seek = percent*audio_duration;
audio_element.currentTime = duration_seek;
// audio_element.currentTime = 10;
console.log('CLICK: ' + duration_seek + ' Element: ' + audio_element + ' CurrentTime: ' + audio_element.currentTime);
}
Run Code Online (Sandbox Code Playgroud)
我似乎无法设置 audio_element.currentTime只能得到它!
更糟糕的是,它适用于fireFox!无论如何,Chrome都会重新启动为0.
这就是上面代码在Firefox控制台中生成的内容:
CLICK: 63.82905432385121 Element: [object HTMLAudioElement] CurrentTime: 3.849546
Run Code Online (Sandbox Code Playgroud)
在Chrome中:
CLICK: 63.82905432385121 Element: [object HTMLAudioElement] CurrentTime: 3.849546
Run Code Online (Sandbox Code Playgroud)
看到?同一个!我们可以看到Chromes看到HTML音频元素(因为它可以获得值).如果我这样做audio_element.currentTime = 10;仍然无效(在Chrome中,Firefox忠实地重启10)
当我使用维基百科的 Ogg 文件对其进行测试时,您的代码工作得很好。如果这确实是您的全部代码,那么此问题似乎是由媒体文件中的某种损坏或意外格式引起的。
您将无法通过代码解决此问题;您将需要生成一个浏览器可以正确处理的新媒体文件。也许尝试使用不同的音频软件(或不同的设置)来生成或重新处理媒体文件。
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |