Browse Source

Select default audio language based on setting

pull/1099/head
Jorrin 1 year ago
parent
commit
9d4be2cb55
  1. 9
      src/components/player/display/base.ts
  2. 2
      src/stores/player/slices/source.ts

9
src/components/player/display/base.ts

@ -12,6 +12,7 @@ import { @@ -12,6 +12,7 @@ import {
} from "@/components/player/display/displayInterface";
import { handleBuffered } from "@/components/player/utils/handleBuffered";
import { getMediaErrorDetails } from "@/components/player/utils/mediaErrorDetails";
import { useLanguageStore } from "@/stores/language";
import {
LoadableSource,
SourceQuality,
@ -83,7 +84,13 @@ export function makeVideoElementDisplayInterface(): DisplayInterface { @@ -83,7 +84,13 @@ export function makeVideoElementDisplayInterface(): DisplayInterface {
function reportAudioTracks() {
if (!hls) return;
const currentTrack = hls.audioTracks?.[hls.audioTrack ?? 0];
const currentLanguage = useLanguageStore.getState().language;
const audioTracks = hls.audioTracks;
const languageTrack = audioTracks.find((v) => v.lang === currentLanguage);
if (languageTrack) {
hls.audioTrack = audioTracks.indexOf(languageTrack);
}
const currentTrack = audioTracks?.[hls.audioTrack ?? 0];
if (!currentTrack) return;
emit("changedaudiotrack", {
id: currentTrack.id.toString(),

2
src/stores/player/slices/source.ts

@ -169,6 +169,8 @@ export const createSourceSlice: MakeSlice<SourceSlice> = (set, get) => ({ @@ -169,6 +169,8 @@ export const createSourceSlice: MakeSlice<SourceSlice> = (set, get) => ({
s.captionList = captions;
s.interface.error = undefined;
s.status = playerStatus.PLAYING;
s.audioTracks = [];
s.currentAudioTrack = null;
});
const store = get();
store.redisplaySource(startAt);

Loading…
Cancel
Save