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