Update player.js

Fixes audio mode duration doubled in iPhone iOS browsers. The player will stop after reaching the real duration. 
iOS() checks both iOS and iPadOS. 
Only tested on iPhone iOS browsers. Testers needed for behavior of iPadOS and MacOS.
pull/1735/head
138138138 2021-02-01 15:59:27 +08:00 zatwierdzone przez GitHub
rodzic 26ce0eb4b9
commit 685902adab
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 24 dodań i 0 usunięć

Wyświetl plik

@ -547,3 +547,27 @@ window.addEventListener('keydown', e => {
if (player.share) {
player.share(shareOptions);
}
//iOS audio double duration fix
player.on('loadedmetadata', function () {
if (iOS() && video_data.params.listen) {
player.on('timeupdate', function () {
if (player.remainingTime() < player.duration() / 2) {
player.currentTime(player.duration() + 1);
}
})
}
});
function iOS() {
return [
'iPad Simulator',
'iPhone Simulator',
'iPod Simulator',
'iPad',
'iPhone',
'iPod'
].includes(navigator.platform)
// iPad on iOS 13 detection
|| (navigator.userAgent.includes("Mac") && "ontouchend" in document)
}