2016-12-14 5 views
0

Я пытаюсь воспроизвести аудио из определенного места внутри файла, а также получать обновления при воспроизведении с помощью события onTimeUpdate. Я исследую свойство currentTime в обработчике onTimeUpdate, чтобы я мог визуально получать информацию о том, где мы находимся в файле.HTML5 Audio: установка currentTime, а затем воспроизведение на iPhone спонтанно перематывает 50-100 миллисекунд

Проблема заключается в том, что когда я устанавливаю currentTime на известное значение, а затем вызываю play(), первый раз, когда я получаю свойство currentTime в обработчике onTimeUpdate, это будет, как я его установил. Но в следующий раз, когда вызывается onTimeUpdate, это фактически значение меньше, чем я изначально начал играть, иногда более чем на 100 мс меньше!

Например:

player.currentTime = 2.0; 
player.play(); 

Затем выводят player.currentTime из моей onTimeUpdate обработчика:

2 
1.95 // WTF?? 
2.24 
2.56 
... 

Проблема заключается в том, что это вызывает мои виджеты UI, указывающие текущее местоположение в треке прыгать. У меня есть неумелое обходное решение, которое я реализую, но я хотел бы знать, существует ли какой-либо известный способ остановить это, или если я просто не делаю что-то правильно.

Насколько мне известно, это происходит только на iPhone. Я тестирую iPhone 4 и iOS 10.1.1.

Вот демонстрация, если вы хотите увидеть это сами.

http://codepen.io/brianrak/pen/7db413c4431827fe3318e99ae497cf2a?editors=1010

Заранее спасибо!

ответ

0
var second = ("0" + parseInt(player.currentTime % 60)).slice(-2); 
var minutes = ("0" + parseInt((player.currentTime/60) % 60)).slice(-2); 
+0

Хотя этот фрагмент кода может решить вопрос, [включая пояснение] (meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers, //) действительно помогает улучшить качество Ваше сообщение. Помните, что вы отвечаете на вопрос читателей в будущем, и эти люди могут не знать причин вашего предложения кода. Также попробуйте не толковать код с пояснительными комментариями, что уменьшает читаемость кода и объяснений! – kayess

 Смежные вопросы

  • Нет связанных вопросов^_^