diff --git a/publish/changeLog.md b/publish/changeLog.md
index eeea05c1..9cecb92f 100644
--- a/publish/changeLog.md
+++ b/publish/changeLog.md
@@ -6,6 +6,7 @@
- 新增根据歌曲名、歌手名等字段对列表自动排序的功能,可以在我的列表右击列表名弹出的菜单中使用
- 新增将播放与下载的歌词转换为繁体中文选项,默认关闭,可在设置-播放设置中开启
- 现在已允许进入临时播放列表,即:使用歌单详情页、排行榜名称右键菜单的“播放”按钮播放歌曲时,可右击播放封面进入此临时列表
+- 播放详情页新增音频可视化功能(实验性)
### 优化
diff --git a/src/common/defaultSetting.js b/src/common/defaultSetting.js
index 87827123..347189fa 100644
--- a/src/common/defaultSetting.js
+++ b/src/common/defaultSetting.js
@@ -2,7 +2,7 @@ const path = require('path')
const os = require('os')
const defaultSetting = {
- version: '1.0.46',
+ version: '1.0.47',
player: {
togglePlayMethod: 'listLoop',
highQuality: false,
@@ -15,6 +15,7 @@ const defaultSetting = {
isS2t: false, // 是否将歌词从简体转换为繁体
isPlayLxlrc: true,
isSavePlayTime: false,
+ audioVisualization: false,
},
desktopLyric: {
enable: false,
diff --git a/src/lang/en-us.json b/src/lang/en-us.json
index 1e277979..dfaacac5 100644
--- a/src/lang/en-us.json
+++ b/src/lang/en-us.json
@@ -1,6 +1,7 @@
{
"action": "Manage",
"agree": "Accept",
+ "audio_visualization": "Audio visualization (experimental)",
"back": "Back",
"cancel_button_text": "Cancel",
"close": "Close",
diff --git a/src/lang/zh-cn.json b/src/lang/zh-cn.json
index dbb8d532..d1677d19 100644
--- a/src/lang/zh-cn.json
+++ b/src/lang/zh-cn.json
@@ -1,6 +1,7 @@
{
"action": "操作",
"agree": "接受",
+ "audio_visualization": "音频可视化(实验性)",
"back": "返回",
"cancel_button_text": "我不",
"close": "关闭",
diff --git a/src/lang/zh-tw.json b/src/lang/zh-tw.json
index 2fd2e06c..04f3e7d8 100644
--- a/src/lang/zh-tw.json
+++ b/src/lang/zh-tw.json
@@ -1,6 +1,7 @@
{
"action": "操作",
"agree": "接受",
+ "audio_visualization": "音頻可視化(實驗性)",
"back": "返回",
"cancel_button_text": "取消",
"close": "關閉",
diff --git a/src/renderer/components/common/AudioVisualizer.vue b/src/renderer/components/common/AudioVisualizer.vue
new file mode 100644
index 00000000..ff47ef9e
--- /dev/null
+++ b/src/renderer/components/common/AudioVisualizer.vue
@@ -0,0 +1,132 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/renderer/components/core/Icons.vue b/src/renderer/components/core/Icons.vue
index 10d610b3..c1542ec2 100644
--- a/src/renderer/components/core/Icons.vue
+++ b/src/renderer/components/core/Icons.vue
@@ -222,5 +222,9 @@ svg(version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/19
// 0 0 24 24
path(fill='currentColor', d='M21,6V8H3V6H21M3,18H12V16H3V18M3,13H21V11H3V13Z')
+ g#icon-audio-wave(fill='currentColor')
+ // 0 0 24 24
+ path(fill='currentColor', d='M22 12L20 13L19 14L18 13L17 16L16 13L15 21L14 13L13 15L12 13L11 17L10 13L9 22L8 13L7 19L6 13L5 14L4 13L2 12L4 11L5 10L6 11L7 5L8 11L9 2L10 11L11 7L12 11L13 9L14 11L15 3L16 11L17 8L18 11L19 10L20 11L22 12Z')
+
diff --git a/src/renderer/components/core/PlayDetail/components/ControlBtns.vue b/src/renderer/components/core/PlayDetail/components/ControlBtns.vue
index b5f70c44..4347923a 100644
--- a/src/renderer/components/core/PlayDetail/components/ControlBtns.vue
+++ b/src/renderer/components/core/PlayDetail/components/ControlBtns.vue
@@ -6,6 +6,9 @@ div(:class="$style.footerLeftControlBtns")
use(xlink:href='#icon-desktop-lyric-on')
svg(v-show="!setting.desktopLyric.enable" version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/1999/xlink' height='125%' viewBox='0 0 512 512' space='preserve')
use(xlink:href='#icon-desktop-lyric-off')
+ div(:class="[$style.footerLeftControlBtn, { [$style.active]: setting.player.audioVisualization }]" @click="toggleAudioVisualization" :tips="$t('audio_visualization')")
+ svg(version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/1999/xlink' width='95%' viewBox='0 0 24 24' space='preserve')
+ use(xlink:href='#icon-audio-wave')
div(:class="[$style.footerLeftControlBtn, { [$style.active]: isShowLrcSelectContent }]" @click="toggleVisibleLrc" :tips="$t('lyric__select')")
svg(version='1.1' xmlns='http://www.w3.org/2000/svg' xlink='http://www.w3.org/1999/xlink' width='95%' viewBox='0 0 24 24' space='preserve')
use(xlink:href='#icon-text')
@@ -31,7 +34,7 @@ div(:class="$style.footerLeftControlBtns")