now using audio service
This commit is contained in:
17
lib/Globals.dart
Normal file
17
lib/Globals.dart
Normal 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;
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
import 'package:audioplayers/audioplayers.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import 'Globals.dart';
|
||||||
|
import 'ListenHandler.dart';
|
||||||
|
|
||||||
class Listen extends StatelessWidget {
|
class Listen extends StatelessWidget {
|
||||||
const Listen({super.key});
|
const Listen({super.key});
|
||||||
|
|
||||||
@@ -26,27 +28,33 @@ class _PlayControlsState extends State<PlayControls>
|
|||||||
|
|
||||||
bool isPlaying = false;
|
bool isPlaying = false;
|
||||||
|
|
||||||
late final AudioPlayer player;
|
//late final AudioPlayer player;
|
||||||
|
|
||||||
|
final ListenHandler _listenHandler = getListenHandlder();
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
|
|
||||||
player = AudioPlayer();
|
print("Listen init");
|
||||||
|
|
||||||
player.setReleaseMode(ReleaseMode.release);
|
//player = AudioPlayer();
|
||||||
|
|
||||||
player
|
//player.setReleaseMode(ReleaseMode.release);
|
||||||
.setSourceUrl("https://generic.ything.app/music/separation-185196.mp3");
|
|
||||||
|
//player
|
||||||
|
// .setSourceUrl("https://generic.ything.app/music/separation-185196.mp3");
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void dispose() {
|
void dispose() {
|
||||||
super.dispose();
|
super.dispose();
|
||||||
|
|
||||||
player.stop();
|
//player.stop();
|
||||||
|
|
||||||
player.dispose();
|
//player.dispose();
|
||||||
|
|
||||||
|
_listenHandler.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@@ -54,9 +62,11 @@ class _PlayControlsState extends State<PlayControls>
|
|||||||
super.build(context);
|
super.build(context);
|
||||||
|
|
||||||
if (isPlaying) {
|
if (isPlaying) {
|
||||||
player.resume();
|
//player.resume();
|
||||||
|
_listenHandler.play();
|
||||||
} else {
|
} else {
|
||||||
player.stop();
|
//player.stop();
|
||||||
|
_listenHandler.stop();
|
||||||
}
|
}
|
||||||
return ClipOval(
|
return ClipOval(
|
||||||
child: Material(
|
child: Material(
|
||||||
|
|||||||
26
lib/ListenHandler.dart
Normal file
26
lib/ListenHandler.dart
Normal 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();
|
||||||
|
}
|
||||||
@@ -1,7 +1,9 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import 'Globals.dart';
|
||||||
import 'YthingRadio.dart';
|
import 'YthingRadio.dart';
|
||||||
|
|
||||||
void main() {
|
Future<void> main() async {
|
||||||
|
setupListenHandler();
|
||||||
runApp(const YthingRadio());
|
runApp(const YthingRadio());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user