fix: call load() to force mobile browsers to fetch blob URL metadata and fix player duration
This commit is contained in:
@@ -86,6 +86,9 @@ export default function LiveVoiceCapture({
|
|||||||
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
log('Calling el.load() to force loading of the media resource...')
|
||||||
|
el.load()
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,6 +53,10 @@ export default function VoiceMemoPlayer({
|
|||||||
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
el.addEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (src) {
|
||||||
|
el.load()
|
||||||
|
}
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
el.removeEventListener('loadedmetadata', handleLoadedMetadata)
|
||||||
}
|
}
|
||||||
@@ -103,7 +107,7 @@ export default function VoiceMemoPlayer({
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="voice-memo-player-shell">
|
<div className="voice-memo-player-shell">
|
||||||
<audio ref={audioRef} className={playerClass} controls preload="none" src={src} />
|
<audio ref={audioRef} className={playerClass} controls preload="metadata" src={src} />
|
||||||
</div>
|
</div>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user