Работы над мой хром ...
$('#audio').bind('canplay', function() {
this.currentTime = 29; // jumps to 29th secs
});
Можно использовать #t
диапазон времени URI свойство
, и это допустимо и для [1 113] аудио и для видео медиа.
stackoverflow.mp3#t=8.5 // Will start playing from the 8.5 sec.
var a = new Audio();
a.src= "http://upload.wikimedia.org/wikipedia/en/4/45/ACDC_-_Back_In_Black-sample.ogg#t=4.5";
a.play();
, Если Вы хотите к [1 115] динамично пропуск к определенному диапазону, чем использование HTMLMediaElement. currentTime:
audio.currentTime = 8.5;
очень более легкое решение
var element = document.getElementById('audioPlayer');
//first make sure the audio player is playing
element.play();
//second seek to the specific time you're looking for
element.currentTime = 226;
Firefox также выполняет запросы диапазона байта при поиске содержания, которое он еще не загрузил - это не просто хромовая проблема. Установите Принимать-диапазоны "заголовка ответа: байты" и возврат 206 Частичных кодов состояния Содержания, чтобы позволить любому клиенту выполнять запросы диапазона байта.
Я сталкивался с проблемой, что индикатор выполнения аудио не работал, но аудио работало правильно. Этот код работает на меня. Надежда это поможет Вам также. Здесь песня является объектом аудио компонента.
Часть
<input type="range" id="seek" value="0" max=""/>
HTML Часть
$("#seek").bind("change", function() {
song.currentTime = $(this).val();
});
song.addEventListener('timeupdate',function (){
$("#seek").attr("max", song.duration);
$('#seek').val(song.currentTime);
});
JQuery Ответ @katspaugh корректен, но существует обходное решение, которое не требует никакой дополнительной конфигурации сервера. Идея состоит в том, чтобы получить звуковой файл как блоб, преобразовать его к dataURL
и использовать его в качестве src
для audio
элемент.
Вот решение для углового $http
, но в случае необходимости я могу добавить ванильную версию JS также:
$http.get(audioFileURL,
{responseType:'blob'})
.success(function(data){
var fr = new FileReader;
fr.readAsDataURL(data);
fr.onloadend = function(){
domObjects.audio.src = fr.result;
};
});
Положение времени набора к 5 секундам:
var vid = document.getElementById("myAudio");
vid.currentTime = 5;
Для перехода вокруг звукового файла сервер должен быть настроен правильно.
клиент отправляет запросы диапазона байта , чтобы искать и играть определенные регионы файла, таким образом, сервер должен ответ соответственно:
для поддержки поиска и воспроизведения регионов медиа, которые еще не загружаются, Геккон использует запросы диапазона байта HTTP 1.1 для получения медиа от искать целевого положения. Кроме того, если Вы не вручаете заголовки X-Content-Duration, Геккон использует запросы диапазона байта для поиска в конец медиа (предполагающий, что Вы вручаете заголовок Довольной Длины) для определения продолжительности медиа.
Затем если ответы сервера на байт располагаются запросы правильно, можно установить положение аудио через currentTime
:
audio.currentTime = 30;
См., что MDN's Настраивает серверы для медиа Ogg (то же касается других форматов, на самом деле).
кроме того, см. Настраивать веб-серверы для видео HTML5 Ogg и аудио .
Удостоверьтесь, что Вы пытаетесь установить currentTime
свойство после , аудио элемент готов играть. Можно связать функцию с oncanplay
атрибут события, определенный в спецификации.
можно ли отправить образец кода, который перестал работать?