Я создаю самодельный js-плеер для воспроизведения аудио / видео со стола на специальный проигрыватель, такой как мой сайт Laravel.При нажатии на элемент на столе, установите плеер на правильные аудио / видео файлы на месте.Проблема: установка текущей причины ссылки на аудио / видео файлы.
Если я использую полную ссылку, мой код работает отлично.Если я использую относительную ссылку, мой код сталкивается с некоторыми проблемами.Но я не могу использовать полную ссылку на моем производственном сервере, потому что маршрут Laravel возвращает 404.
Я пытался использовать событие loadedmetadata
, не работает.
Пример:
player_element.currentTime = 448.3
console.log('CT: '+player_element.currentTime)
возвращает CT: 16.352372
, почему?
Я пытался использовать событие canplay
для настройки currentTime
:
работапод Firefox и Edge
не работает в Chrome!
Журнал консоли Chrome:
возвращает CT: 0
.
(я установил логический переменный, потому что он возвращается на currentTime
, а canplay
и прерывает игру)
player_element = document.createElement('audio');
player_element.setAttribute('src',media_path+src[divParent.data('currentSrc')].filename);
player_element.setAttribute('preload','metadata');
player_element.load();
let start_player = true;
let start_elt = divParent.data('start_element');
player_element.oncanplay = function(){
if (start_player) {
if (player_element.currentTime == start_elt) {
start_player = !start_player;
}
player_element.currentTime = start_elt;
}
}