@@ -113,14 +113,19 @@ private static AudioInfo[] LoadAllAudioInfos(string directory) {
113
113
finally {
114
114
audioFile ? . Dispose ( ) ;
115
115
}
116
- var trackInfo = _database . TrackInfos . Match ( audioInfo . Album , audioInfo . Track ) ;
116
+ TrackInfo trackInfo ;
117
+ lock ( _database . TrackInfos )
118
+ trackInfo = _database . TrackInfos . Match ( audioInfo . Album , audioInfo . Track ) ;
117
119
if ( ! ( trackInfo is null ) ) {
118
120
audioInfo . TrackInfo = trackInfo ;
119
121
return audioInfo ;
120
122
}
121
123
// 尝试从数据库获取歌曲
122
124
if ( The163KeyHelper . TryGetTrackId ( tag , out int trackId ) ) {
123
- audioInfo . TrackInfo = new TrackInfo ( audioInfo . Track , audioInfo . Album , trackId ) ;
125
+ trackInfo = new TrackInfo ( audioInfo . Track , audioInfo . Album , trackId ) ;
126
+ lock ( _database . TrackInfos )
127
+ _database . TrackInfos . Add ( trackInfo ) ;
128
+ audioInfo . TrackInfo = trackInfo ;
124
129
return audioInfo ;
125
130
}
126
131
// 尝试从163Key获取ID
@@ -145,6 +150,7 @@ private static async Task LoadAllAudioInfoCandidates(AudioInfo[] audioInfoCandid
145
150
else {
146
151
FastConsole . WriteInfo ( $ "已获取文件\" { Path . GetFileName ( candidate . Path ) } \" 的网易云音乐ID: { trackInfo . Id } 。") ;
147
152
candidate . TrackInfo = new TrackInfo ( candidate . Track , candidate . Album , trackInfo . Id ) ;
153
+ _database . TrackInfos . Add ( candidate . TrackInfo ) ;
148
154
}
149
155
callback ? . Invoke ( candidate ) ;
150
156
FastConsole . WriteNewLine ( ) ;
@@ -696,7 +702,7 @@ private static Task AccelerateAllTracksAsync(AudioInfo[] audioInfos) {
696
702
}
697
703
698
704
private static async Task AccelerateAllLyricsAsync ( AudioInfo [ ] audioInfos ) {
699
- const int STEP = 50 ;
705
+ const int STEP = 100 ;
700
706
701
707
int [ ] trackIds = audioInfos . Select ( t => t . TrackInfo . Id ) . ToArray ( ) ;
702
708
for ( int i = 0 ; i < trackIds . Length ; i += STEP ) {
0 commit comments