mod: playCount calc
This commit is contained in:
@ -101,7 +101,7 @@ class PlPlayerController {
|
||||
bool _isFirstTime = true;
|
||||
|
||||
Timer? _timer;
|
||||
late Timer? _timerForSeek;
|
||||
Timer? _timerForSeek;
|
||||
Timer? _timerForVolume;
|
||||
Timer? _timerForShowingVolume;
|
||||
Timer? _timerForGettingVolume;
|
||||
@ -335,8 +335,10 @@ class PlPlayerController {
|
||||
}) {
|
||||
// 如果实例尚未创建,则创建一个新实例
|
||||
_instance ??= PlPlayerController._();
|
||||
_instance!._playerCount.value += 1;
|
||||
_videoType.value = videoType;
|
||||
if (videoType != 'none') {
|
||||
_instance!._playerCount.value += 1;
|
||||
_videoType.value = videoType;
|
||||
}
|
||||
return _instance!;
|
||||
}
|
||||
|
||||
@ -1120,9 +1122,6 @@ class PlPlayerController {
|
||||
}
|
||||
|
||||
Future<void> dispose({String type = 'single'}) async {
|
||||
print('dispose');
|
||||
print('dispose: ${playerCount.value}');
|
||||
|
||||
// 每次减1,最后销毁
|
||||
if (type == 'single' && playerCount.value > 1) {
|
||||
_playerCount.value -= 1;
|
||||
@ -1132,7 +1131,6 @@ class PlPlayerController {
|
||||
}
|
||||
_playerCount.value = 0;
|
||||
try {
|
||||
print('dispose dispose ---------');
|
||||
_timer?.cancel();
|
||||
_timerForVolume?.cancel();
|
||||
_timerForGettingVolume?.cancel();
|
||||
|
@ -26,7 +26,7 @@ class VideoPlayerServiceHandler extends BaseAudioHandler with SeekHandler {
|
||||
static final List<MediaItem> _item = [];
|
||||
Box setting = GStrorage.setting;
|
||||
bool enableBackgroundPlay = false;
|
||||
PlPlayerController player = PlPlayerController.getInstance();
|
||||
PlPlayerController player = PlPlayerController.getInstance(videoType: 'none');
|
||||
|
||||
VideoPlayerServiceHandler() {
|
||||
revalidateSetting();
|
||||
|
@ -18,7 +18,7 @@ class AudioSessionHandler {
|
||||
session.configure(const AudioSessionConfiguration.music());
|
||||
|
||||
session.interruptionEventStream.listen((event) {
|
||||
final player = PlPlayerController.getInstance();
|
||||
final player = PlPlayerController.getInstance(videoType: 'none');
|
||||
if (event.begin) {
|
||||
if (!player.playerStatus.playing) return;
|
||||
switch (event.type) {
|
||||
@ -51,7 +51,7 @@ class AudioSessionHandler {
|
||||
|
||||
// 耳机拔出暂停
|
||||
session.becomingNoisyEventStream.listen((_) {
|
||||
final player = PlPlayerController.getInstance();
|
||||
final player = PlPlayerController.getInstance(videoType: 'none');
|
||||
if (player.playerStatus.playing) {
|
||||
player.pause();
|
||||
}
|
||||
|
@ -29,8 +29,8 @@ class ShutdownTimerService {
|
||||
return;
|
||||
}
|
||||
SmartDialog.showToast("设置 $scheduledExitInMinutes 分钟后定时关闭");
|
||||
_shutdownTimer = Timer(Duration(minutes: scheduledExitInMinutes),
|
||||
() => _shutdownDecider());
|
||||
_shutdownTimer = Timer(
|
||||
Duration(minutes: scheduledExitInMinutes), () => _shutdownDecider());
|
||||
}
|
||||
|
||||
void _showTimeUpButPauseDialog() {
|
||||
@ -59,7 +59,7 @@ class ShutdownTimerService {
|
||||
// Start the 10-second timer to auto close the dialog
|
||||
_autoCloseDialogTimer?.cancel();
|
||||
_autoCloseDialogTimer = Timer(const Duration(seconds: 10), () {
|
||||
SmartDialog.dismiss();// Close the dialog
|
||||
SmartDialog.dismiss(); // Close the dialog
|
||||
_executeShutdown();
|
||||
});
|
||||
return AlertDialog(
|
||||
@ -88,7 +88,8 @@ class ShutdownTimerService {
|
||||
_showShutdownDialog();
|
||||
return;
|
||||
}
|
||||
PlPlayerController plPlayerController = PlPlayerController.getInstance();
|
||||
PlPlayerController plPlayerController =
|
||||
PlPlayerController.getInstance(videoType: 'none');
|
||||
if (!exitApp && !waitForPlayingCompleted) {
|
||||
if (!plPlayerController.playerStatus.playing) {
|
||||
//仅提示用户
|
||||
@ -108,19 +109,22 @@ class ShutdownTimerService {
|
||||
//该方法依赖耦合实现,不够优雅
|
||||
isWaiting = true;
|
||||
}
|
||||
void handleWaitingFinished(){
|
||||
if(isWaiting){
|
||||
|
||||
void handleWaitingFinished() {
|
||||
if (isWaiting) {
|
||||
_showShutdownDialog();
|
||||
isWaiting = false;
|
||||
}
|
||||
}
|
||||
|
||||
void _executeShutdown() {
|
||||
if (exitApp) {
|
||||
//退出app
|
||||
exit(0);
|
||||
} else {
|
||||
//暂停播放
|
||||
PlPlayerController plPlayerController = PlPlayerController.getInstance();
|
||||
PlPlayerController plPlayerController =
|
||||
PlPlayerController.getInstance(videoType: 'none');
|
||||
if (plPlayerController.playerStatus.playing) {
|
||||
plPlayerController.pause();
|
||||
waitForPlayingCompleted = true;
|
||||
|
Reference in New Issue
Block a user