feat: 根据支持情况选择播放方式

This commit is contained in:
unanmed 2025-01-15 23:14:54 +08:00
parent 307bf8a10d
commit a058dfda4a

View File

@ -1,6 +1,6 @@
import { StreamLoader } from '../loader'; import { StreamLoader } from '../loader';
import { audioPlayer, AudioRoute } from './player'; import { audioPlayer, AudioRoute } from './player';
import { AudioType, guessTypeByExt } from './support'; import { guessTypeByExt, isAudioSupport } from './support';
export function loadAllBgm() { export function loadAllBgm() {
const loading = Mota.require('var', 'loading'); const loading = Mota.require('var', 'loading');
@ -8,17 +8,17 @@ export function loadAllBgm() {
const data = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d; const data = data_a1e2fb4a_e986_4524_b0da_9b7ba7c0874d;
for (const bgm of data.main.bgms) { for (const bgm of data.main.bgms) {
const type = guessTypeByExt(bgm); const type = guessTypeByExt(bgm);
if (!type) continue;
if (type === AudioType.Opus || type === AudioType.Ogg) { if (isAudioSupport(type)) {
const source = audioPlayer.createStreamSource(); const source = audioPlayer.createElementSource();
const stream = new StreamLoader(`project/bgms/${bgm}`); source.setSource(`project/bgms/${bgm}`);
stream.pipe(source);
source.setLoop(true); source.setLoop(true);
const route = new AudioRoute(source, audioPlayer); const route = new AudioRoute(source, audioPlayer);
audioPlayer.addRoute(`bgms.${bgm}`, route); audioPlayer.addRoute(`bgms.${bgm}`, route);
} else { } else {
const source = audioPlayer.createElementSource(); const source = audioPlayer.createStreamSource();
source.setSource(`project/bgms/${bgm}`); const stream = new StreamLoader(`project/bgms/${bgm}`);
stream.pipe(source);
source.setLoop(true); source.setLoop(true);
const route = new AudioRoute(source, audioPlayer); const route = new AudioRoute(source, audioPlayer);
audioPlayer.addRoute(`bgms.${bgm}`, route); audioPlayer.addRoute(`bgms.${bgm}`, route);