don't restart media when it's already playing #2882
This commit is contained in:
parent
a29a9c71ae
commit
1748a55ece
6 changed files with 10 additions and 7 deletions
2
dist/reveal.esm.js
vendored
2
dist/reveal.esm.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.esm.js.map
vendored
2
dist/reveal.esm.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js
vendored
2
dist/reveal.js
vendored
File diff suppressed because one or more lines are too long
2
dist/reveal.js.map
vendored
2
dist/reveal.js.map
vendored
File diff suppressed because one or more lines are too long
|
|
@ -375,8 +375,11 @@ export default class SlideContent {
|
||||||
isVisible = !!closest( event.target, '.present' );
|
isVisible = !!closest( event.target, '.present' );
|
||||||
|
|
||||||
if( isAttachedToDOM && isVisible ) {
|
if( isAttachedToDOM && isVisible ) {
|
||||||
event.target.currentTime = 0;
|
// Don't restart if media is already playing
|
||||||
event.target.play();
|
if( event.target.paused || event.target.ended ) {
|
||||||
|
event.target.currentTime = 0;
|
||||||
|
event.target.play();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
event.target.removeEventListener( 'loadeddata', this.startEmbeddedMedia );
|
event.target.removeEventListener( 'loadeddata', this.startEmbeddedMedia );
|
||||||
|
|
|
||||||
|
|
@ -2917,7 +2917,7 @@ export default function( revealElement, options ) {
|
||||||
loadSlide: slideContent.load.bind( slideContent ),
|
loadSlide: slideContent.load.bind( slideContent ),
|
||||||
unloadSlide: slideContent.unload.bind( slideContent ),
|
unloadSlide: slideContent.unload.bind( slideContent ),
|
||||||
|
|
||||||
// Media playback
|
// Start/stop all media inside of the current slide
|
||||||
startEmbeddedContent: () => slideContent.startEmbeddedContent( currentSlide ),
|
startEmbeddedContent: () => slideContent.startEmbeddedContent( currentSlide ),
|
||||||
stopEmbeddedContent: () => slideContent.stopEmbeddedContent( currentSlide, { unloadIframes: false } ),
|
stopEmbeddedContent: () => slideContent.stopEmbeddedContent( currentSlide, { unloadIframes: false } ),
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue