Skip to content

Commit a1b7bc5

Browse files
authored
v0.6.1
2 parents a6659db + ee5f846 commit a1b7bc5

6 files changed

Lines changed: 26 additions & 34 deletions

File tree

changelog.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
`2025.8.3 v0.6.1`
2+
1. 修复进入软件时播放进度丢失的问题
3+
2. 修复某些情况下无法添加到歌单的问题
4+
15
`2025.7.24 v0.6.0`
26
一大波优化和问题修复~
37
1. 【功能】优化了倒计时功能,支持倒计时结束后,歌曲播放完成后再退出应用

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "MusicFree",
3-
"version": "0.6.0",
3+
"version": "0.6.1",
44
"private": true,
55
"license": "AGPL",
66
"author": {

release/version.json

Lines changed: 3 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,4 @@
1-
{"version":"0.6.0","changeLog":[
2-
"一大波优化和问题修复~",
3-
"1. 【功能】优化了倒计时功能,支持倒计时结束后,歌曲播放完成后再退出应用",
4-
"2. 【功能】支持多语言",
5-
"3. 【功能】新增音源重定向功能",
6-
"4. 【功能】自定义主题中,选择颜色弹窗支持直接输入颜色代码",
7-
"5. 【功能】新增配置,音频被暂时打断时可调节降低音量的幅度(感谢@eastcukt)",
8-
"6. 【功能】本地歌单中,高亮正在播放的歌曲",
9-
"7. 【功能】本地歌单中,新增定位按钮,点击定位按钮可跳转到正在播放的音乐",
10-
"8. 【优化】略微调大了歌词页的播放按钮",
11-
"9. 【优化】首页-推荐歌单支持左右滑动",
12-
"10. 【优化】优化播放器的稳定性,减少出现闪退/播放自动暂停的情况",
13-
"11. 【修复】修复了一批样式bug",
14-
"12. 【修复】修复了点击更新订阅插件后,插件页始终展示加载中的问题",
15-
"13. 【修复】修复部分情况下歌词页高亮混乱的问题",
16-
"14. 【插件】插件获取评论支持分页(需要插件配合)",
17-
"15. 【插件】修复移动端axios库中读取的cookie和桌面版不一致的问题",
18-
"16. 【插件】插件新增description字段,可嵌入markdown格式的插件说明",
19-
"17. 【其他】重构了核心部分代码逻辑,后续维护起来成本会小一些"
1+
{"version":"0.6.1","changeLog":[
2+
"1. 修复进入软件时播放进度丢失的问题",
3+
"2. 修复某些情况下无法添加到歌单的问题"
204
],"download":["https://r0rvr854dd1.feishu.cn/drive/folder/KLqKfWOA3lx8MKdo8xNcYpR8n7t"]}

src/core/musicSheet/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -333,13 +333,12 @@ class MusicSheetClazz implements IInjectable {
333333
if (
334334
!musicSheets
335335
.find(_ => _.id === sheetId)
336-
?.coverImg?.startsWith("file://")
336+
?.coverImg?.startsWith?.("file://")
337337
) {
338338
await this.updateMusicSheetBase(sheetId, {
339339
coverImg: musicList.at(0)?.artwork,
340340
});
341341
}
342-
343342
// 更新音乐数量
344343
getDefaultStore().set(
345344
musicSheetsBaseAtom,
@@ -350,7 +349,6 @@ class MusicSheetClazz implements IInjectable {
350349
}
351350
}),
352351
);
353-
354352
await storage.setMusicList(sheetId, musicList.musicList);
355353
ee.emit("UpdateMusicList", {
356354
sheetId,
@@ -415,7 +413,7 @@ class MusicSheetClazz implements IInjectable {
415413
if (
416414
!musicSheets
417415
.find(_ => _.id === sheetId)
418-
?.coverImg?.startsWith("file://")
416+
?.coverImg?.startsWith?.("file://")
419417
) {
420418
patchData.coverImg = musicList.at(0)?.artwork;
421419
}

src/core/trackPlayer/index.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -166,13 +166,17 @@ class TrackPlayer extends EventEmitter<{
166166

167167
if (isSameMediaItem(this.currentMusic, track)) {
168168
await this.setTrackSource(track as Track, false);
169+
if (progress) {
170+
// 异步
171+
this.seekTo(progress);
172+
}
169173
}
170174
});
171175
this.setCurrentMusic(track);
172176

173177
if (progress) {
174178
// 异步
175-
ReactNativeTrackPlayer.seekTo(progress);
179+
this.seekTo(progress);
176180
}
177181
}
178182

@@ -433,7 +437,7 @@ class TrackPlayer extends EventEmitter<{
433437
}
434438
if (forcePlay) {
435439
// 2.1.1 强制重新开始
436-
await ReactNativeTrackPlayer.seekTo(0);
440+
await this.seekTo(0);
437441
}
438442
const currentState = (
439443
await ReactNativeTrackPlayer.getPlaybackState()
@@ -689,7 +693,7 @@ class TrackPlayer extends EventEmitter<{
689693
!musicIsPaused(playingState),
690694
);
691695

692-
await ReactNativeTrackPlayer.seekTo(progress.position ?? 0);
696+
await this.seekTo(progress.position ?? 0);
693697
this.setQuality(newQuality);
694698
}
695699
return true;
@@ -726,10 +730,14 @@ class TrackPlayer extends EventEmitter<{
726730
}
727731
}
728732

733+
async seekTo(progress: number) {
734+
PersistStatus.set("music.progress", progress);
735+
return ReactNativeTrackPlayer.seekTo(progress);
736+
}
737+
729738
getProgress = ReactNativeTrackPlayer.getProgress;
730739
getRate = ReactNativeTrackPlayer.getRate;
731740
setRate = ReactNativeTrackPlayer.setRate;
732-
seekTo = ReactNativeTrackPlayer.seekTo;
733741
reset = ReactNativeTrackPlayer.reset;
734742

735743

src/entry/bootstrap/bootstrap.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,10 @@ async function bootstrapImpl() {
9595
trace("配置初始化完成");
9696
logger.mark("配置初始化完成");
9797

98+
// 加载插件
99+
await PluginManager.setup();
100+
logger.mark("插件初始化完成");
101+
trace("插件初始化完成");
98102

99103
await initTrackPlayer(logger).catch(err => {
100104
// 初始化播放器出错,延迟初始化
@@ -108,12 +112,6 @@ async function bootstrapImpl() {
108112
}
109113
});
110114

111-
// 加载插件
112-
await PluginManager.setup();
113-
logger.mark("插件初始化完成");
114-
trace("插件初始化完成");
115-
116-
117115
await LocalMusicSheet.setup();
118116
trace("本地音乐初始化完成");
119117
logger.mark("本地音乐初始化完成");

0 commit comments

Comments
 (0)