播放速率设置面板新增是否音调补偿设置

This commit is contained in:
lyswhut
2023-05-31 20:26:19 +08:00
parent 0adb4f5ae5
commit 677c3f16e4
9 changed files with 43 additions and 3 deletions
@@ -9,9 +9,17 @@
<div :class="$style.setting">
<div :class="$style.info">
<span>{{ playbackRate.toFixed(2) }}x</span>
<base-btn min @click="handleUpdatePlaybackRate(100)">{{ $t('player__playback_rate_reset_btn') }}</base-btn>
<div :class="$style.control">
<base-checkbox
id="player__playback_preserves_pitch"
:model-value="appSetting['player.preservesPitch']"
:label="$t('player__playback_preserves_pitch')"
@update:model-value="updatePreservesPitch"
/>
<base-btn min @click="handleUpdatePlaybackRate(100)">{{ $t('player__playback_rate_reset_btn') }}</base-btn>
</div>
</div>
<base-slider-bar :class="$style.slider" :value="playbackRate * 100" :min="60" :max="200" @change="handleUpdatePlaybackRate" />
<base-slider-bar :class="$style.slider" :value="playbackRate * 100" :min="50" :max="200" @change="handleUpdatePlaybackRate" />
</div>
</template>
</material-popup-btn>
@@ -20,11 +28,17 @@
<script setup>
// import { computed } from '@common/utils/vueTools'
import { playbackRate } from '@renderer/store/player/playbackRate'
import { appSetting, updateSetting } from '@renderer/store/setting'
const handleUpdatePlaybackRate = (val) => {
window.app_event.setPlaybackRate(Math.round(val) / 100)
}
const updatePreservesPitch = (enabled) => {
updateSetting({ 'player.preservesPitch': enabled })
}
// const icon = computed(() => {
// return playbackRate.value == 0
// ? '#icon-volume-off-outline'
@@ -100,6 +114,11 @@ const handleUpdatePlaybackRate = (val) => {
line-height: 1;
}
}
.control {
align-items: center;
display: flex;
gap: 10px;
}
.slider {
width: 100%;
@@ -1,5 +1,5 @@
import { onBeforeUnmount, watch } from '@common/utils/vueTools'
import { setPlaybackRate as setPlayerPlaybackRate } from '@renderer/plugins/player'
import { setPlaybackRate as setPlayerPlaybackRate, setPreservesPitch } from '@renderer/plugins/player'
import { debounce } from '@common/utils'
// import { HOTKEY_PLAYER } from '@common/hotKey'
@@ -11,6 +11,7 @@ export default () => {
setPlaybackRate(appSetting['player.playbackRate'])
setPlayerPlaybackRate(appSetting['player.playbackRate'])
setPreservesPitch(appSetting['player.preservesPitch'])
const handleSetPlaybackRate = (num: number) => {
@@ -41,6 +42,11 @@ export default () => {
})
watch(() => appSetting['player.preservesPitch'], preservesPitch => {
setPreservesPitch(preservesPitch)
})
// window.key_event.on(HOTKEY_PLAYER.volume_up.action, hotkeyVolumeUp)
// window.key_event.on(HOTKEY_PLAYER.volume_down.action, hotkeyVolumeDown)
window.app_event.on('setPlaybackRate', handleSetPlaybackRate)
+5
View File
@@ -254,6 +254,11 @@ export const setPlaybackRate = (rate: number) => {
audio.playbackRate = rate
}
export const setPreservesPitch = (preservesPitch: boolean) => {
if (!audio) return
audio.preservesPitch = preservesPitch
}
export const getMute = (): boolean => {
return audio?.muted ?? false
}