diff --git a/src/components/slideshow/slideshow.js b/src/components/slideshow/slideshow.js
index 9f82a0ec73..8f45590045 100644
--- a/src/components/slideshow/slideshow.js
+++ b/src/components/slideshow/slideshow.js
@@ -172,6 +172,8 @@ export default function (options) {
html += '
';
if (actionButtonsOnTop) {
+ html += getIcon('play_arrow', 'btnSlideshowPause slideshowButton', true);
+
if (appHost.supports('filedownload') && options.user && options.user.Policy.EnableContentDownloading) {
html += getIcon('file_download', 'btnDownload slideshowButton', true);
}
@@ -347,7 +349,7 @@ export default function (options) {
minRatio: 1,
toggle: true
},
- autoplay: !options.interactive,
+ autoplay: !options.interactive || !!options.autoplay,
keyboard: {
enabled: true
},
@@ -376,6 +378,8 @@ export default function (options) {
if (useFakeZoomImage) {
swiperInstance.on('zoomChange', onZoomChange);
}
+
+ if (swiperInstance.autoplay?.running) onAutoplayStart();
}
/**
diff --git a/src/controllers/list.js b/src/controllers/list.js
index b50b5f91f9..b34848bf11 100644
--- a/src/controllers/list.js
+++ b/src/controllers/list.js
@@ -666,12 +666,14 @@ class ItemsView {
if (currentItem && !self.hasFilters) {
playbackManager.play({
- items: [currentItem]
+ items: [currentItem],
+ autoplay: true
});
} else {
getItems(self, self.params, currentItem, null, null, 300).then(function (result) {
playbackManager.play({
- items: result.Items
+ items: result.Items,
+ autoplay: true
});
});
}
@@ -701,7 +703,8 @@ class ItemsView {
} else {
getItems(self, self.params, currentItem, 'Random', null, 300).then(function (result) {
playbackManager.play({
- items: result.Items
+ items: result.Items,
+ autoplay: true
});
});
}
diff --git a/src/plugins/photoPlayer/plugin.js b/src/plugins/photoPlayer/plugin.js
index 42ffd3c7dd..aa3ba5f364 100644
--- a/src/plugins/photoPlayer/plugin.js
+++ b/src/plugins/photoPlayer/plugin.js
@@ -22,6 +22,8 @@ export default class PhotoPlayer {
startIndex: index,
interval: 11000,
interactive: true,
+ // playbackManager.shuffle has no options. So treat 'shuffle' as a 'play' action
+ autoplay: options.autoplay || options.shuffle,
user: result
});