默认禁用 使用设备能处理的最大声道数输出音频 设置,修复高级音频API与自定义音频输出设备功能冲突的提示显示
This commit is contained in:
@@ -36,12 +36,16 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, computed } from '@common/utils/vueTools'
|
||||
import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
import { convolutions } from '@renderer/plugins/player'
|
||||
import { appSetting, saveMediaDeviceId, updateSetting } from '@renderer/store/setting'
|
||||
import { convolutions, setMediaDeviceId } from '@renderer/plugins/player'
|
||||
import AddConvolutionPresetBtn from './AddConvolutionPresetBtn.vue'
|
||||
import { getUserConvolutionPresetList, removeUserConvolutionPreset } from '@renderer/store/soundEffect'
|
||||
|
||||
const updateConvolution = val => {
|
||||
const updateConvolution = async val => {
|
||||
if (appSetting['player.mediaDeviceId'] != 'default') {
|
||||
await setMediaDeviceId('default').catch(_ => _)
|
||||
saveMediaDeviceId('default')
|
||||
}
|
||||
const target = convolutions.find(c => c.source == val)
|
||||
const setting = {
|
||||
'player.soundEffect.convolution.fileName': val,
|
||||
@@ -61,6 +65,7 @@ const handleUpdateSendGain = (value) => {
|
||||
}
|
||||
|
||||
const handleSetPreset = (item) => {
|
||||
if (appSetting['player.mediaDeviceId'] != 'default') saveMediaDeviceId('default')
|
||||
updateSetting({
|
||||
'player.soundEffect.convolution.fileName': item.source,
|
||||
'player.soundEffect.convolution.mainGain': item.mainGain,
|
||||
|
||||
@@ -27,7 +27,8 @@
|
||||
|
||||
<script setup>
|
||||
// import { reactive } from '@common/utils/vueTools'
|
||||
import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
import { setMediaDeviceId } from '@renderer/plugins/player'
|
||||
import { appSetting, saveMediaDeviceId, updateSetting } from '@renderer/store/setting'
|
||||
|
||||
// const setting = reactive({
|
||||
// enabled: false,
|
||||
@@ -35,8 +36,12 @@ import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
// speed: 25,
|
||||
// })
|
||||
|
||||
const updateEnabled = (enabled) => {
|
||||
const updateEnabled = async(enabled) => {
|
||||
// console.log(enabled)
|
||||
if (appSetting['player.mediaDeviceId'] != 'default') {
|
||||
await setMediaDeviceId('default').catch(_ => _)
|
||||
saveMediaDeviceId('default')
|
||||
}
|
||||
updateSetting({ 'player.soundEffect.panner.enable': enabled })
|
||||
}
|
||||
|
||||
|
||||
@@ -25,14 +25,19 @@
|
||||
|
||||
<script setup>
|
||||
import { onMounted, ref } from '@common/utils/vueTools'
|
||||
import { freqs, freqsPreset } from '@renderer/plugins/player'
|
||||
import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
import { freqs, freqsPreset, setMediaDeviceId } from '@renderer/plugins/player'
|
||||
import { appSetting, saveMediaDeviceId, updateSetting } from '@renderer/store/setting'
|
||||
import AddEQPresetBtn from './AddEQPresetBtn.vue'
|
||||
import { getUserEQPresetList, removeUserEQPreset } from '@renderer/store/soundEffect'
|
||||
|
||||
const labels = freqs.map(num => num < 1000 ? num : `${num / 1000}k`)
|
||||
|
||||
const handleUpdate = (key, value) => {
|
||||
const handleUpdate = async(key, value) => {
|
||||
if (appSetting['player.mediaDeviceId'] != 'default') {
|
||||
await setMediaDeviceId('default').catch(_ => _)
|
||||
saveMediaDeviceId('default')
|
||||
}
|
||||
|
||||
value = Math.round(value)
|
||||
// values[index] = value
|
||||
updateSetting({ [`player.soundEffect.biquadFilter.hz${key}`]: value })
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
|
||||
<script setup>
|
||||
import { computed } from '@common/utils/vueTools'
|
||||
import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
import { setMediaDeviceId } from '@renderer/plugins/player'
|
||||
import { appSetting, saveMediaDeviceId, updateSetting } from '@renderer/store/setting'
|
||||
// import AddPitchShifterPresetBtn from './AddPitchShifterPresetBtn.vue'
|
||||
// import { getUserPitchShifterPresetList, removeUserPitchShifterPreset } from '@renderer/store/soundEffect'
|
||||
// import { semitones } from '@renderer/plugins/player'
|
||||
@@ -37,7 +38,11 @@ import { appSetting, updateSetting } from '@renderer/store/setting'
|
||||
|
||||
const playbackRate = computed(() => appSetting['player.soundEffect.pitchShifter.playbackRate'])
|
||||
|
||||
const handleSetPreset = (value) => {
|
||||
const handleSetPreset = async(value) => {
|
||||
if (appSetting['player.mediaDeviceId'] != 'default') {
|
||||
await setMediaDeviceId('default').catch(_ => _)
|
||||
saveMediaDeviceId('default')
|
||||
}
|
||||
updateSetting({ 'player.soundEffect.pitchShifter.playbackRate': value })
|
||||
}
|
||||
|
||||
@@ -48,7 +53,7 @@ const handleSetPreset = (value) => {
|
||||
|
||||
const handleUpdatePlaybackRate = (value) => {
|
||||
value = parseFloat((Math.round(value) / 100).toFixed(2))
|
||||
handleSetPreset(value)
|
||||
void handleSetPreset(value)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -17,12 +17,13 @@
|
||||
<BiquadFilter />
|
||||
</div>
|
||||
</div>
|
||||
<p v-if="showTip" :class="$style.tip">{{ $t('player__sound_effect_features_tip') }}</p>
|
||||
<!-- </main> -->
|
||||
</material-modal>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref } from '@common/utils/vueTools'
|
||||
import { ref, watch } from '@common/utils/vueTools'
|
||||
// import useNextTogglePlay from '@renderer/utils/compositions/useNextTogglePlay'
|
||||
// import useToggleDesktopLyric from '@renderer/utils/compositions/useToggleDesktopLyric'
|
||||
// import { musicInfo, playMusicInfo } from '@renderer/store/player/state'
|
||||
@@ -33,6 +34,7 @@ import BiquadFilter from './BiquadFilter.vue'
|
||||
import AudioPanner from './AudioPanner.vue'
|
||||
import AudioConvolution from './AudioConvolution.vue'
|
||||
import PitchShifter from './PitchShifter.vue'
|
||||
import { appSetting } from '@renderer/store/setting'
|
||||
|
||||
defineProps({
|
||||
teleport: {
|
||||
@@ -43,6 +45,12 @@ defineProps({
|
||||
|
||||
const visible = ref(false)
|
||||
|
||||
const showTip = ref(false)
|
||||
|
||||
watch(visible, (visible) => {
|
||||
if (visible) showTip.value = appSetting['player.mediaDeviceId'] != 'default'
|
||||
})
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
@@ -134,4 +142,12 @@ const visible = ref(false)
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.tip {
|
||||
padding: 0 15px 15px;
|
||||
margin-top: 5px;
|
||||
font-size: 12px;
|
||||
line-height: 1.25;
|
||||
color: var(--color-font);
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
@@ -80,8 +80,8 @@ export default {
|
||||
confirmButtonText: t('confirm_button_text'),
|
||||
})
|
||||
if (!confirm) return
|
||||
saveMediaDeviceId('default')
|
||||
await setMediaDeviceId('default').catch(_ => _)
|
||||
saveMediaDeviceId('default')
|
||||
}
|
||||
setEnableAudioVisualization(newSetting)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user