File tree Expand file tree Collapse file tree
src/core/audio-player/ffmpeg-engine Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -19,6 +19,8 @@ const LOW_WATER_MARK = 10;
1919 * - 支持 Seek 操作
2020 */
2121export class FFmpegAudioPlayer extends BaseAudioPlayer {
22+ /** 静态消息 ID 计数器,确保唯一性 */
23+ private static messageIdCounter = 0 ;
2224 /** 解码 Worker 实例 */
2325 private worker : Worker | null = null ;
2426 /** 音频元数据 */
@@ -141,7 +143,7 @@ export class FFmpegAudioPlayer extends BaseAudioPlayer {
141143 this . worker = new AudioWorker ( ) ;
142144 this . setupWorkerListeners ( ) ;
143145
144- this . currentMessageId = Date . now ( ) ;
146+ this . currentMessageId = ++ FFmpegAudioPlayer . messageIdCounter ;
145147 if ( this . worker ) {
146148 this . worker . postMessage ( {
147149 type : "INIT" ,
@@ -224,7 +226,7 @@ export class FFmpegAudioPlayer extends BaseAudioPlayer {
224226 }
225227 } ) ;
226228 this . activeSources = [ ] ;
227- this . currentMessageId = Date . now ( ) ;
229+ this . currentMessageId = ++ FFmpegAudioPlayer . messageIdCounter ;
228230
229231 this . worker . postMessage ( {
230232 type : "SEEK" ,
@@ -528,7 +530,6 @@ export class FFmpegAudioPlayer extends BaseAudioPlayer {
528530 this . timeUpdateIntervalId = setInterval ( ( ) => {
529531 if ( this . playerState === "playing" && ! this . isWorkerSeeking ) {
530532 this . emit ( AUDIO_EVENTS . TIME_UPDATE ) ;
531- this . dispatchEvent ( new Event ( "timeupdate" ) ) ;
532533 }
533534 } , 250 ) ;
534535 }
You can’t perform that action at this time.
0 commit comments