Use audio_session.

This commit is contained in:
Ryan Heise 2020-08-21 12:23:39 +10:00
parent e60a672722
commit b8ae308eec
12 changed files with 80 additions and 95 deletions

View file

@ -5,12 +5,14 @@
// ignore: unused_import
import 'dart:ui';
import 'package:audio_session/audio_session_web.dart';
import 'package:just_audio/just_audio_web.dart';
import 'package:flutter_web_plugins/flutter_web_plugins.dart';
// ignore: public_member_api_docs
void registerPlugins(PluginRegistry registry) {
AudioSessionWeb.registerWith(registry.registrarFor(AudioSessionWeb));
JustAudioPlugin.registerWith(registry.registrarFor(JustAudioPlugin));
registry.registerMessageHandler();
}

View file

@ -1,5 +1,6 @@
import 'dart:math';
import 'package:audio_session/audio_session.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:just_audio/just_audio.dart';
@ -53,15 +54,16 @@ class _MyAppState extends State<MyApp> {
@override
void initState() {
super.initState();
AudioPlayer.setIosCategory(IosCategory.playback);
_player = AudioPlayer();
_player = AudioPlayer(handleInterruptions: true);
SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(
statusBarColor: Colors.black,
));
_loadAudio();
_init();
}
_loadAudio() async {
_init() async {
final session = await AudioSession.instance;
await session.configure(AudioSessionConfiguration.speech());
try {
await _player.load(_playlist);
} catch (e) {