now using audio service

This commit is contained in:
2024-09-08 17:13:47 -04:00
parent 4c0212cb6c
commit 8a42093c6d
5 changed files with 67 additions and 12 deletions

17
lib/Globals.dart Normal file
View File

@@ -0,0 +1,17 @@
import 'package:audio_service/audio_service.dart';
import 'ListenHandler.dart';
late final ListenHandler _listenHandler;
Future<void> setupListenHandler() async {
_listenHandler = await AudioService.init(
builder: () => ListenHandler(),
config: const AudioServiceConfig(
androidNotificationChannelId: 'net.ything.radio.channel.audio',
androidNotificationChannelName: 'Ything Radio Playback',
),
);
}
ListenHandler getListenHandlder() => _listenHandler;

View File

@@ -1,6 +1,8 @@
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/material.dart';
import 'Globals.dart';
import 'ListenHandler.dart';
class Listen extends StatelessWidget {
const Listen({super.key});
@@ -26,27 +28,33 @@ class _PlayControlsState extends State<PlayControls>
bool isPlaying = false;
late final AudioPlayer player;
//late final AudioPlayer player;
final ListenHandler _listenHandler = getListenHandlder();
@override
void initState() {
initState() {
super.initState();
player = AudioPlayer();
print("Listen init");
player.setReleaseMode(ReleaseMode.release);
//player = AudioPlayer();
player
.setSourceUrl("https://generic.ything.app/music/separation-185196.mp3");
//player.setReleaseMode(ReleaseMode.release);
//player
// .setSourceUrl("https://generic.ything.app/music/separation-185196.mp3");
}
@override
void dispose() {
super.dispose();
player.stop();
//player.stop();
player.dispose();
//player.dispose();
_listenHandler.stop();
}
@override
@@ -54,9 +62,11 @@ class _PlayControlsState extends State<PlayControls>
super.build(context);
if (isPlaying) {
player.resume();
//player.resume();
_listenHandler.play();
} else {
player.stop();
//player.stop();
_listenHandler.stop();
}
return ClipOval(
child: Material(

26
lib/ListenHandler.dart Normal file
View File

@@ -0,0 +1,26 @@
import 'package:audio_service/audio_service.dart';
import 'package:audioplayers/audioplayers.dart';
class ListenHandler extends BaseAudioHandler {
final _player = AudioPlayer();
setup_player() {
_player.setReleaseMode(ReleaseMode.release);
_player
.setSourceUrl("https://generic.ything.app/music/separation-185196.mp3");
}
ListenHandler() {
setup_player();
}
@override
Future<void> play() => _player.resume();
@override
Future<void> pause() => _player.stop();
@override
Future<void> stop() => _player.stop();
}

View File

View File

@@ -1,7 +1,9 @@
import 'package:flutter/material.dart';
import 'Globals.dart';
import 'YthingRadio.dart';
void main() {
Future<void> main() async {
setupListenHandler();
runApp(const YthingRadio());
}