From 3b5ab5fc0f7ebe65f1ca37bbdc905cf78cb85e9e Mon Sep 17 00:00:00 2001 From: Tim Date: Mon, 31 Oct 2022 23:50:19 +0100 Subject: [PATCH] refactor(Player): open in external player via core transport --- src/routes/Player/OptionsMenu/OptionsMenu.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/routes/Player/OptionsMenu/OptionsMenu.js b/src/routes/Player/OptionsMenu/OptionsMenu.js index 83ba37e9c..52f58a7ef 100644 --- a/src/routes/Player/OptionsMenu/OptionsMenu.js +++ b/src/routes/Player/OptionsMenu/OptionsMenu.js @@ -5,10 +5,12 @@ const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('@stremio/stremio-icons/dom'); const { Button, useStreamingServer, useToast } = require('stremio/common'); +const { useServices } = require('stremio/services'); const styles = require('./styles'); const OptionsMenu = ({ className, stream }) => { const streamingServer = useStreamingServer(); + const { core } = useServices(); const toast = useToast(); const streamUrl = React.useMemo(() => { return stream !== null ? @@ -54,7 +56,16 @@ const OptionsMenu = ({ className, stream }) => { }, [streamUrl]); const onExternalPlayerButtonClick = React.useCallback(() => { if (streamUrl !== null) { - window.open(`vlc://${encodeURIComponent(streamUrl)}`); + core.transport.dispatch({ + action: 'StreamingServer', + args: { + action: 'PlayOnDevice', + args: { + device: 'vlc', + source: streamUrl, + } + } + }); } }, [streamUrl]); const onMouseDown = React.useCallback((event) => {