mirror of
https://github.com/KRTirtho/spotube.git
synced 2025-09-12 23:45:18 +00:00
Initial Volume maxed out to 100% fixed
Android audio is not pausing on other audio source is running
This commit is contained in:
parent
c898716b06
commit
9db99a07d0
@ -23,7 +23,6 @@ import 'package:spotube/provider/YouTube.dart';
|
||||
import 'package:spotube/services/LinuxAudioService.dart';
|
||||
import 'package:spotube/services/MobileAudioService.dart';
|
||||
import 'package:spotube/utils/PersistedChangeNotifier.dart';
|
||||
import 'package:spotube/utils/platform.dart';
|
||||
import 'package:youtube_explode_dart/youtube_explode_dart.dart' hide Playlist;
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:spotube/extensions/list-sort-multiple.dart';
|
||||
@ -80,6 +79,9 @@ class Playback extends PersistedChangeNotifier {
|
||||
|
||||
(() async {
|
||||
cache = await Hive.openLazyBox<CacheTrack>("track-cache");
|
||||
|
||||
await player.setVolume(volume);
|
||||
|
||||
_subscriptions.addAll([
|
||||
player.onPlayerStateChanged.listen(
|
||||
(state) async {
|
||||
|
@ -1,13 +1,23 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:audio_service/audio_service.dart';
|
||||
import 'package:audio_session/audio_session.dart';
|
||||
import 'package:audioplayers/audioplayers.dart';
|
||||
import 'package:spotube/provider/Playback.dart';
|
||||
|
||||
class MobileAudioService extends BaseAudioHandler {
|
||||
final Playback playback;
|
||||
AudioSession? session;
|
||||
|
||||
MobileAudioService(this.playback) {
|
||||
AudioSession.instance.then((s) {
|
||||
session = s;
|
||||
s.interruptionEventStream.listen((event) {
|
||||
if (event.type != AudioInterruptionType.duck) {
|
||||
playback.pause();
|
||||
}
|
||||
});
|
||||
});
|
||||
final _player = playback.player;
|
||||
_player.onPlayerStateChanged.listen((state) async {
|
||||
if (state != PlayerState.completed) {
|
||||
@ -31,6 +41,7 @@ class MobileAudioService extends BaseAudioHandler {
|
||||
}
|
||||
|
||||
void addItem(MediaItem item) {
|
||||
session?.setActive(true);
|
||||
mediaItem.add(item);
|
||||
}
|
||||
|
||||
@ -44,7 +55,10 @@ class MobileAudioService extends BaseAudioHandler {
|
||||
Future<void> seek(Duration position) => playback.seekPosition(position);
|
||||
|
||||
@override
|
||||
Future<void> stop() => playback.stop();
|
||||
Future<void> stop() async {
|
||||
await session?.setActive(true);
|
||||
await playback.stop();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> skipToNext() async {
|
||||
|
@ -65,12 +65,12 @@ packages:
|
||||
source: hosted
|
||||
version: "0.1.1"
|
||||
audio_session:
|
||||
dependency: transitive
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: audio_session
|
||||
url: "https://pub.dartlang.org"
|
||||
source: hosted
|
||||
version: "0.1.6+1"
|
||||
version: "0.1.9"
|
||||
audioplayers:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
|
@ -64,6 +64,7 @@ dependencies:
|
||||
dbus: ^0.7.3
|
||||
audioplayers: ^1.0.1
|
||||
introduction_screen: ^3.0.2
|
||||
audio_session: ^0.1.9
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
|
Loading…
Reference in New Issue
Block a user