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

@ -34,7 +34,7 @@ android {
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.ryanheise.just_audio_example"
minSdkVersion 16
minSdkVersion 19
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName

View file

@ -5,7 +5,7 @@ buildscript {
}
dependencies {
classpath 'com.android.tools.build:gradle:3.6.3'
classpath 'com.android.tools.build:gradle:3.5.0'
}
}

View file

@ -1,6 +1,5 @@
#Sun Jun 07 15:20:36 BST 2020
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.4-all.zip

View file

@ -0,0 +1 @@
include ':app'

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) {

View file

@ -8,6 +8,13 @@ packages:
url: "https://pub.dartlang.org"
source: hosted
version: "2.4.2"
audio_session:
dependency: "direct main"
description:
path: "../../audio_session"
relative: true
source: path
version: "0.0.1"
boolean_selector:
dependency: transitive
description:
@ -106,7 +113,7 @@ packages:
path: ".."
relative: true
source: path
version: "0.3.2"
version: "0.3.3"
matcher:
dependency: transitive
description:
@ -261,4 +268,4 @@ packages:
version: "0.1.0"
sdks:
dart: ">=2.9.0-14.0.dev <3.0.0"
flutter: ">=1.12.13+hotfix.5 <2.0.0"
flutter: ">=1.20.0 <2.0.0"

View file

@ -7,6 +7,8 @@ environment:
flutter: ">=1.12.8 <2.0.0"
dependencies:
audio_session:
path: ../../audio_session
flutter:
sdk: flutter