From 2ddd5cd65fcbd7c0cf9c71fc2a12a2d0430cbc1a Mon Sep 17 00:00:00 2001 From: kozr Date: Fri, 19 Apr 2024 15:33:30 -0700 Subject: [PATCH] fix where ios doesn't further load and subsequently fire canplay when autoplay is off --- src/players/FilePlayer.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/players/FilePlayer.js b/src/players/FilePlayer.js index a9750fc5..3f19f0f9 100644 --- a/src/players/FilePlayer.js +++ b/src/players/FilePlayer.js @@ -70,7 +70,11 @@ export default class FilePlayer extends Component { player.addEventListener('leavepictureinpicture', this.onDisablePIP) player.addEventListener('webkitpresentationmodechanged', this.onPresentationModeChange) if (!this.shouldUseHLS(url)) { // onReady is handled by hls.js - player.addEventListener('canplay', this.onReady) + if (IS_IOS && !this.props.config.autoPlay) { + player.addEventListener('loadedmetadata', this.onReady) + } else { + player.addEventListener('canplay', this.onReady) + } } if (playsinline) { player.setAttribute('playsinline', '') @@ -80,7 +84,6 @@ export default class FilePlayer extends Component { } removeListeners (player, url) { - player.removeEventListener('canplay', this.onReady) player.removeEventListener('play', this.onPlay) player.removeEventListener('waiting', this.onBuffer) player.removeEventListener('playing', this.onBufferEnd) @@ -93,7 +96,11 @@ export default class FilePlayer extends Component { player.removeEventListener('leavepictureinpicture', this.onDisablePIP) player.removeEventListener('webkitpresentationmodechanged', this.onPresentationModeChange) if (!this.shouldUseHLS(url)) { // onReady is handled by hls.js - player.removeEventListener('canplay', this.onReady) + if (IS_IOS && !this.props.config.autoPlay) { + player.removeEventListener('loadedmetadata', this.onReady) + } else { + player.removeEventListener('canplay', this.onReady) + } } }