|
|
@@ -252,7 +252,12 @@ export class PlayerManager implements IPlayerManager {
|
|
|
// 无论播放器报告的状态如何,都尝试暂停
|
|
|
this.mIjkMediaPlayer.pause();
|
|
|
|
|
|
- LogUtils.getInstance().LOGI('PlayerManager: Playback paused, isPaused flag set to true');
|
|
|
+ // 关键修复:通知状态回调播放已暂停(使用onPlaybackCompleted来确保状态保存)
|
|
|
+ if (this.stateCallback) {
|
|
|
+ this.stateCallback.onPlaybackCompleted();
|
|
|
+ }
|
|
|
+
|
|
|
+ LogUtils.getInstance().LOGI('PlayerManager: Playback paused, isPaused flag set to true, state callback notified');
|
|
|
} catch (error) {
|
|
|
LogUtils.getInstance().LOGI(`PlayerManager pausePlayback error: ${error}`);
|
|
|
}
|
|
|
@@ -262,9 +267,13 @@ export class PlayerManager implements IPlayerManager {
|
|
|
try {
|
|
|
this.mIjkMediaPlayer.stop();
|
|
|
this.isPaused = false; // 清除暂停状态
|
|
|
- // 注意:不要在这里调用release(),因为这会释放播放器资源
|
|
|
- // release()应该只在真正需要释放资源时调用(如应用退出)
|
|
|
- LogUtils.getInstance().LOGI('PlayerManager: Playback stopped');
|
|
|
+
|
|
|
+ // 关键修复:通知状态回调播放已停止
|
|
|
+ if (this.stateCallback) {
|
|
|
+ this.stateCallback.onPlaybackCompleted();
|
|
|
+ }
|
|
|
+
|
|
|
+ LogUtils.getInstance().LOGI('PlayerManager: Playback stopped and state callback notified');
|
|
|
} catch (error) {
|
|
|
LogUtils.getInstance().LOGI(`PlayerManager stopPlayback error: ${error}`);
|
|
|
}
|