fix: 媒体通知进度条未按预期停止

This commit is contained in:
guozhigq
2024-03-07 23:35:39 +08:00
committed by orz12
parent 408ff0e4e1
commit 464ffac074
3 changed files with 9 additions and 6 deletions

View File

@@ -579,8 +579,10 @@ class PlPlayerController {
if (event) { if (event) {
playerStatus.status.value = PlayerStatus.playing; playerStatus.status.value = PlayerStatus.playing;
} else { } else {
// playerStatus.status.value = PlayerStatus.paused; playerStatus.status.value = PlayerStatus.paused;
} }
videoPlayerServiceHandler.onStatusChange(
playerStatus.status.value, isBuffering.value);
/// 触发回调事件 /// 触发回调事件
for (var element in _statusListeners) { for (var element in _statusListeners) {

View File

@@ -26,6 +26,7 @@ class VideoPlayerServiceHandler extends BaseAudioHandler with SeekHandler {
static final List<MediaItem> _item = []; static final List<MediaItem> _item = [];
Box setting = GStrorage.setting; Box setting = GStrorage.setting;
bool enableBackgroundPlay = false; bool enableBackgroundPlay = false;
PlPlayerController player = PlPlayerController.getInstance();
VideoPlayerServiceHandler() { VideoPlayerServiceHandler() {
revalidateSetting(); revalidateSetting();
@@ -38,12 +39,12 @@ class VideoPlayerServiceHandler extends BaseAudioHandler with SeekHandler {
@override @override
Future<void> play() async { Future<void> play() async {
PlPlayerController.getInstance().play(); player.play();
} }
@override @override
Future<void> pause() async { Future<void> pause() async {
PlPlayerController.getInstance().pause(); player.pause();
} }
@override @override
@@ -51,7 +52,7 @@ class VideoPlayerServiceHandler extends BaseAudioHandler with SeekHandler {
playbackState.add(playbackState.value.copyWith( playbackState.add(playbackState.value.copyWith(
updatePosition: position, updatePosition: position,
)); ));
await PlPlayerController.getInstance().seekTo(position); await player.seekTo(position);
} }
Future<void> setMediaItem(MediaItem newMediaItem) async { Future<void> setMediaItem(MediaItem newMediaItem) async {

View File

@@ -20,7 +20,7 @@ class AudioSessionHandler {
session.interruptionEventStream.listen((event) { session.interruptionEventStream.listen((event) {
final player = PlPlayerController.getInstance(); final player = PlPlayerController.getInstance();
if (event.begin) { if (event.begin) {
if (player.playerStatus != PlayerStatus.playing) return; if (!player.playerStatus.playing) return;
switch (event.type) { switch (event.type) {
case AudioInterruptionType.duck: case AudioInterruptionType.duck:
player.setVolume(player.volume.value * 0.5); player.setVolume(player.volume.value * 0.5);
@@ -52,7 +52,7 @@ class AudioSessionHandler {
// 耳机拔出暂停 // 耳机拔出暂停
session.becomingNoisyEventStream.listen((_) { session.becomingNoisyEventStream.listen((_) {
final player = PlPlayerController.getInstance(); final player = PlPlayerController.getInstance();
if (player.playerStatus == PlayerStatus.playing) { if (player.playerStatus.playing) {
player.pause(); player.pause();
} }
}); });