diff --git a/packages/frontend/src/pages/settings/sounds.sound.vue b/packages/frontend/src/pages/settings/sounds.sound.vue
index 54e23d9852..2f4cd1be2c 100644
--- a/packages/frontend/src/pages/settings/sounds.sound.vue
+++ b/packages/frontend/src/pages/settings/sounds.sound.vue
@@ -9,7 +9,7 @@ SPDX-License-Identifier: AGPL-3.0-only
{{ i18n.ts.sound }}
-
+
{{ i18n.ts.selectFile }}
{{ friendlyFileName }}
@@ -52,7 +52,7 @@ const fileUrl = ref(props.fileUrl);
const fileName = ref
('');
const volume = ref(props.volume);
-if (type.value === 'driveFile' && fileId.value) {
+if (type.value === '_driveFile_' && fileId.value) {
const apiRes = await os.api('drive/files/show', {
fileId: fileId.value,
});
@@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string {
switch (f) {
case null:
return i18n.ts.none;
- case 'driveFile':
+ case '_driveFile_':
return i18n.ts._soundSettings.driveFile;
default:
return f;
@@ -110,7 +110,7 @@ function selectSound(ev) {
}
function listen() {
- if (type.value === 'driveFile' && (!fileUrl.value || !fileId.value)) {
+ if (type.value === '_driveFile_' && (!fileUrl.value || !fileId.value)) {
os.alert({
type: 'warning',
text: i18n.ts._soundSettings.driveFileWarn,
@@ -118,8 +118,8 @@ function listen() {
return;
}
- playFile(type.value === 'driveFile' ? {
- type: 'driveFile',
+ playFile(type.value === '_driveFile_' ? {
+ type: '_driveFile_',
fileId: fileId.value as string,
fileUrl: fileUrl.value as string,
volume: volume.value,
@@ -130,7 +130,7 @@ function listen() {
}
function save() {
- if (type.value === 'driveFile' && !fileUrl.value) {
+ if (type.value === '_driveFile_' && !fileUrl.value) {
os.alert({
type: 'warning',
text: i18n.ts._soundSettings.driveFileWarn,
@@ -138,7 +138,7 @@ function save() {
return;
}
- if (type.value !== 'driveFile') {
+ if (type.value !== '_driveFile_') {
fileUrl.value = undefined;
fileName.value = '';
fileId.value = undefined;
diff --git a/packages/frontend/src/pages/settings/sounds.vue b/packages/frontend/src/pages/settings/sounds.vue
index 919da076eb..e549901f05 100644
--- a/packages/frontend/src/pages/settings/sounds.vue
+++ b/packages/frontend/src/pages/settings/sounds.vue
@@ -63,7 +63,7 @@ function getSoundTypeName(f: SoundType): string {
switch (f) {
case null:
return i18n.ts.none;
- case 'driveFile':
+ case '_driveFile_':
return i18n.ts._soundSettings.driveFile;
default:
return f;
diff --git a/packages/frontend/src/scripts/sound.ts b/packages/frontend/src/scripts/sound.ts
index 2218d69d21..a4c6967d18 100644
--- a/packages/frontend/src/scripts/sound.ts
+++ b/packages/frontend/src/scripts/sound.ts
@@ -16,7 +16,7 @@ export const soundsTypes = [
null,
// ドライブの音声
- 'driveFile',
+ '_driveFile_',
// プリインストール
'syuilo/n-aec',
@@ -95,7 +95,7 @@ export type OperationType = typeof operationTypes[number];
export async function loadAudio(soundStore: SoundStore, options?: { useCache?: boolean; }) {
if (_DEV_) console.log('loading audio. opts:', options);
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
- if (soundStore.type === null || (soundStore.type === 'driveFile' && !soundStore.fileUrl)) {
+ if (soundStore.type === null || (soundStore.type === '_driveFile_' && !soundStore.fileUrl)) {
return;
}
// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
@@ -103,7 +103,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
ctx = new AudioContext();
}
if (options?.useCache ?? true) {
- if (soundStore.type === 'driveFile' && cache.has(soundStore.fileId)) {
+ if (soundStore.type === '_driveFile_' && cache.has(soundStore.fileId)) {
if (_DEV_) console.log('use cache');
return cache.get(soundStore.fileId) as AudioBuffer;
} else if (cache.has(soundStore.type)) {
@@ -114,7 +114,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
let response: Response;
- if (soundStore.type === 'driveFile') {
+ if (soundStore.type === '_driveFile_') {
try {
response = await fetch(soundStore.fileUrl);
} catch (err) {
@@ -141,7 +141,7 @@ export async function loadAudio(soundStore: SoundStore, options?: { useCache?: b
const audioBuffer = await ctx.decodeAudioData(arrayBuffer);
if (options?.useCache ?? true) {
- if (soundStore.type === 'driveFile') {
+ if (soundStore.type === '_driveFile_') {
cache.set(soundStore.fileId, audioBuffer);
} else {
cache.set(soundStore.type, audioBuffer);
diff --git a/packages/frontend/src/store.ts b/packages/frontend/src/store.ts
index f56454e114..70d2cf402d 100644
--- a/packages/frontend/src/store.ts
+++ b/packages/frontend/src/store.ts
@@ -38,17 +38,17 @@ interface PageViewInterruptor {
/** サウンド設定 */
export type SoundStore = {
- type: Exclude;
+ type: Exclude;
volume: number;
} | {
- type: 'driveFile';
+ type: '_driveFile_';
/** ドライブのファイルID */
fileId: string;
/** ファイルURL(こちらが優先される) */
fileUrl: string;
-
+
volume: number;
}