From 457ef31bc9d529dbe1317102d69bbc5b5394a069 Mon Sep 17 00:00:00 2001 From: StevenJGreen Date: Sat, 24 Jun 2023 21:18:26 +0200 Subject: [PATCH] Update waveforms_dashboard.dart Modified the code to work with versions of audioplayers greater than audioplayers-v1.0.1 --- example/lib/waveforms_dashboard.dart | 44 +++++++++++++--------------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/example/lib/waveforms_dashboard.dart b/example/lib/waveforms_dashboard.dart index 3198847..2e7758c 100644 --- a/example/lib/waveforms_dashboard.dart +++ b/example/lib/waveforms_dashboard.dart @@ -3,7 +3,7 @@ import 'dart:math'; import 'package:audioplayers/audioplayers.dart'; -import 'package:example/load_audio_data.dart'; +import 'load_audio_data.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -36,7 +36,7 @@ class WaveformsDashboard extends StatefulWidget { class _WaveformsDashboardState extends State { late Duration maxDuration; late Duration elapsedDuration; - late AudioCache audioPlayer; + late AudioPlayer audioPlayer; late List samples; double sliderValue = 0; // Change this value to number of audio samples you want. @@ -50,16 +50,16 @@ class _WaveformsDashboardState extends State { List> audioDataList = [ [ - 'assets/dm.json', - 'dance_monkey.mp3', + '../assets/dm.json', + '../assets/dance_monkey.mp3', ], [ - 'assets/soy.json', - 'shape_of_you.mp3', + '../assets/soy.json', + '../shape_of_you.mp3', ], [ - 'assets/sp.json', - 'surface_pressure.mp3', + '../assets/sp.json', + '../surface_pressure.mp3', ], ]; @@ -77,13 +77,12 @@ class _WaveformsDashboardState extends State { } Future playAudio() async { - await audioPlayer.load(audioData[1]); - await audioPlayer.play(audioData[1]); + //await audioPlayer.load(audioData[1]); + await audioPlayer.play(UrlSource(audioData[1])); // maxDuration in milliseconds await Future.delayed(const Duration(milliseconds: 200)); - int maxDurationInmilliseconds = - await audioPlayer.fixedPlayer!.getDuration(); + int maxDurationInmilliseconds = (await audioPlayer.getDuration()) as int; maxDuration = Duration(milliseconds: maxDurationInmilliseconds); } @@ -93,9 +92,7 @@ class _WaveformsDashboardState extends State { // TODO: implement initState super.initState(); audioData = audioDataList[0]; - audioPlayer = AudioCache( - fixedPlayer: AudioPlayer(), - ); + audioPlayer = AudioPlayer(); parseData(); @@ -103,13 +100,13 @@ class _WaveformsDashboardState extends State { maxDuration = const Duration(milliseconds: 1000); elapsedDuration = const Duration(); - audioPlayer.fixedPlayer!.onPlayerCompletion.listen((_) { + audioPlayer.onPlayerComplete.listen((_) { setState(() { elapsedDuration = maxDuration; sliderValue = 1; }); }); - audioPlayer.fixedPlayer!.onAudioPositionChanged.listen((Duration p) { + audioPlayer.onPositionChanged.listen((Duration p) { setState(() { elapsedDuration = p; sliderValue = p.inMilliseconds / maxDuration.inMilliseconds; @@ -273,13 +270,13 @@ class _WaveformsDashboardState extends State { // await audioPlayer.fixedPlayer!.resume(); }, onChangeStart: (double value) async { - await audioPlayer.fixedPlayer!.pause(); + await audioPlayer.pause(); }, onChanged: (val) { setState(() { sliderValue = val; - audioPlayer.fixedPlayer!.seek(Duration( + audioPlayer.seek(Duration( milliseconds: (maxDuration.inMilliseconds * val).toInt())); }); @@ -312,7 +309,7 @@ class _WaveformsDashboardState extends State { children: [ ElevatedButton( onPressed: () { - audioPlayer.fixedPlayer!.pause(); + audioPlayer.pause(); }, child: const Icon( Icons.pause, @@ -323,8 +320,8 @@ class _WaveformsDashboardState extends State { ), ElevatedButton( onPressed: () async { - if (audioPlayer.fixedPlayer!.state == PlayerState.PAUSED) { - audioPlayer.fixedPlayer!.resume(); + if (audioPlayer.state == PlayerState.paused) { + audioPlayer.resume(); } else { await playAudio(); } @@ -338,8 +335,7 @@ class _WaveformsDashboardState extends State { onPressed: () { setState(() { sliderValue = 0; - audioPlayer.fixedPlayer! - .seek(const Duration(milliseconds: 0)); + audioPlayer.seek(const Duration(milliseconds: 0)); }); }, child: const Icon(Icons.replay_outlined),