mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 21:27:05 +00:00
Merge pull request #515 from Stremio/surround_sound_enabled
Surround sound setting
This commit is contained in:
commit
438f054718
6 changed files with 40 additions and 18 deletions
14
package-lock.json
generated
14
package-lock.json
generated
|
|
@ -36,7 +36,7 @@
|
|||
"react-i18next": "^12.1.1",
|
||||
"react-is": "18.2.0",
|
||||
"spatial-navigation-polyfill": "git+ssh://git@github.com/Stremio/spatial-navigation.git#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
||||
"stremio-translations": "git+ssh://git@github.com/Stremio/stremio-translations.git#9c91862cdf8f1f0fb54df870807cd6af18679a89",
|
||||
"stremio-translations": "git+ssh://git@github.com/Stremio/stremio-translations.git#8e30d9961402a7389f1a6209d9dab5592f32c9d7",
|
||||
"url": "0.11.0",
|
||||
"use-long-press": "^3.1.5"
|
||||
},
|
||||
|
|
@ -12878,9 +12878,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/stremio-translations": {
|
||||
"version": "1.44.1",
|
||||
"resolved": "git+ssh://git@github.com/Stremio/stremio-translations.git#9c91862cdf8f1f0fb54df870807cd6af18679a89",
|
||||
"integrity": "sha512-sOYmxXAVT5DwkIxFnateCQ+4rfe9xqWVTdnwc7Jdo7UCdnbtTUuHXIjyKFK2Vv11nWV5mBrizxAscdcxUpEImw==",
|
||||
"version": "1.44.3",
|
||||
"resolved": "git+ssh://git@github.com/Stremio/stremio-translations.git#8e30d9961402a7389f1a6209d9dab5592f32c9d7",
|
||||
"integrity": "sha512-E8UqbRzVQzDFQvKLTztrtA2V8xL8JeYfi+hI9IWx9kwIMQ34no2hxuualXH7A4U0s8xlM6BQW4bcQlVKwflhEg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
|
|
@ -24576,9 +24576,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"stremio-translations": {
|
||||
"version": "git+ssh://git@github.com/Stremio/stremio-translations.git#9c91862cdf8f1f0fb54df870807cd6af18679a89",
|
||||
"integrity": "sha512-sOYmxXAVT5DwkIxFnateCQ+4rfe9xqWVTdnwc7Jdo7UCdnbtTUuHXIjyKFK2Vv11nWV5mBrizxAscdcxUpEImw==",
|
||||
"from": "stremio-translations@git+ssh://git@github.com/Stremio/stremio-translations.git#9c91862cdf8f1f0fb54df870807cd6af18679a89"
|
||||
"version": "git+ssh://git@github.com/Stremio/stremio-translations.git#8e30d9961402a7389f1a6209d9dab5592f32c9d7",
|
||||
"integrity": "sha512-E8UqbRzVQzDFQvKLTztrtA2V8xL8JeYfi+hI9IWx9kwIMQ34no2hxuualXH7A4U0s8xlM6BQW4bcQlVKwflhEg==",
|
||||
"from": "stremio-translations@git+ssh://git@github.com/Stremio/stremio-translations.git#8e30d9961402a7389f1a6209d9dab5592f32c9d7"
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
"react-i18next": "^12.1.1",
|
||||
"react-is": "18.2.0",
|
||||
"spatial-navigation-polyfill": "git+ssh://git@github.com/Stremio/spatial-navigation.git#64871b1422466f5f45d24ebc8bbd315b2ebab6a6",
|
||||
"stremio-translations": "git+ssh://git@github.com/Stremio/stremio-translations.git#9c91862cdf8f1f0fb54df870807cd6af18679a89",
|
||||
"stremio-translations": "git+ssh://git@github.com/Stremio/stremio-translations.git#8e30d9961402a7389f1a6209d9dab5592f32c9d7",
|
||||
"url": "0.11.0",
|
||||
"use-long-press": "^3.1.5"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -27,11 +27,8 @@ const styles = require('./styles');
|
|||
const Player = ({ urlParams, queryParams }) => {
|
||||
const { t } = useTranslation();
|
||||
const { chromecast, shell, core } = useServices();
|
||||
const [forceTranscoding, maxAudioChannels] = React.useMemo(() => {
|
||||
return [
|
||||
queryParams.has('forceTranscoding'),
|
||||
queryParams.has('maxAudioChannels') ? parseInt(queryParams.get('maxAudioChannels'), 10) : null
|
||||
];
|
||||
const forceTranscoding = React.useMemo(() => {
|
||||
return queryParams.has('forceTranscoding');
|
||||
}, [queryParams]);
|
||||
const [player, videoParamsChanged, timeChanged, pausedChanged, ended, nextVideo] = usePlayer(urlParams);
|
||||
const [settings, updateSettings] = useSettings();
|
||||
|
|
@ -288,10 +285,7 @@ const Player = ({ urlParams, queryParams }) => {
|
|||
:
|
||||
0,
|
||||
forceTranscoding: forceTranscoding || casting,
|
||||
maxAudioChannels: typeof maxAudioChannels === 'number' ?
|
||||
maxAudioChannels
|
||||
:
|
||||
null,
|
||||
maxAudioChannels: settings.surroundSound ? 32 : 2,
|
||||
streamingServerURL: streamingServer.baseUrl.type === 'Ready' ?
|
||||
casting ?
|
||||
streamingServer.baseUrl.content
|
||||
|
|
@ -306,7 +300,7 @@ const Player = ({ urlParams, queryParams }) => {
|
|||
shellTransport: shell.active ? shell.transport : null,
|
||||
});
|
||||
}
|
||||
}, [streamingServer.baseUrl, player.selected, player.metaItem, forceTranscoding, maxAudioChannels, casting]);
|
||||
}, [streamingServer.baseUrl, player.selected, player.metaItem, forceTranscoding, casting]);
|
||||
React.useEffect(() => {
|
||||
if (videoState.stream !== null) {
|
||||
dispatch({
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ const Settings = () => {
|
|||
subtitlesBackgroundColorInput,
|
||||
subtitlesOutlineColorInput,
|
||||
audioLanguageSelect,
|
||||
surroundSoundCheckbox,
|
||||
seekTimeDurationSelect,
|
||||
seekShortTimeDurationSelect,
|
||||
escExitFullscreenCheckbox,
|
||||
|
|
@ -405,6 +406,16 @@ const Settings = () => {
|
|||
{...audioLanguageSelect}
|
||||
/>
|
||||
</div>
|
||||
<div className={styles['option-container']}>
|
||||
<div className={styles['option-name-container']}>
|
||||
<div className={styles['label']}>{ t('SETTINGS_SURROUND_SOUND') }</div>
|
||||
</div>
|
||||
<Checkbox
|
||||
className={classnames(styles['option-input-container'], styles['checkbox-container'])}
|
||||
tabIndex={-1}
|
||||
{...surroundSoundCheckbox}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
<div className={styles['section-container']}>
|
||||
<div className={styles['section-category-container']}>
|
||||
|
|
|
|||
|
|
@ -135,6 +135,21 @@ const useProfileSettingsInputs = (profile) => {
|
|||
});
|
||||
}
|
||||
}), [profile.settings]);
|
||||
const surroundSoundCheckbox = React.useMemo(() => ({
|
||||
checked: profile.settings.surroundSound,
|
||||
onClick: () => {
|
||||
core.transport.dispatch({
|
||||
action: 'Ctx',
|
||||
args: {
|
||||
action: 'UpdateSettings',
|
||||
args: {
|
||||
...profile.settings,
|
||||
surroundSound: !profile.settings.surroundSound
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}), [profile.settings]);
|
||||
const escExitFullscreenCheckbox = React.useMemo(() => ({
|
||||
checked: profile.settings.escExitFullscreen,
|
||||
onClick: () => {
|
||||
|
|
@ -307,6 +322,7 @@ const useProfileSettingsInputs = (profile) => {
|
|||
subtitlesBackgroundColorInput,
|
||||
subtitlesOutlineColorInput,
|
||||
audioLanguageSelect,
|
||||
surroundSoundCheckbox,
|
||||
escExitFullscreenCheckbox,
|
||||
seekTimeDurationSelect,
|
||||
seekShortTimeDurationSelect,
|
||||
|
|
|
|||
1
src/types/models/Ctx.d.ts
vendored
1
src/types/models/Ctx.d.ts
vendored
|
|
@ -37,6 +37,7 @@ type Settings = {
|
|||
subtitlesOutlineColor: string,
|
||||
subtitlesSize: number,
|
||||
subtitlesTextColor: string,
|
||||
surroundSound: boolean,
|
||||
};
|
||||
|
||||
type Profile = {
|
||||
|
|
|
|||
Loading…
Reference in a new issue