mirror of
https://github.com/HChaZZY/PiliPlus.git
synced 2025-12-06 09:13:48 +08:00
fix: 媒体通知进度条未按预期停止
This commit is contained in:
@@ -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) {
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user