Skip to content

Commit

Permalink
feat: better logging to track playing status
Browse files Browse the repository at this point in the history
  • Loading branch information
sowens-csd committed Jan 26, 2024
1 parent db84a7a commit 34a0120
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 8 deletions.
21 changes: 16 additions & 5 deletions examples/audio_player_interaction/lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ class _MyHomePageState extends State<MyHomePage> {

_info += "Open Audio Session\n";
String testAudioAsset = 'sounds/notification.m4r';
logIt('Playing $testAudioAsset');
await _player.play(testAudioAsset, loop: false);

_info += "Start Player\n";
Expand Down Expand Up @@ -122,10 +123,13 @@ class _MyHomePageState extends State<MyHomePage> {
);
}

void _onStatus(String status) {
void _onStatus(String status) async {
logIt('onStatus: $status');
_info += "Speech Status: ${status}\n";
if (_inTest && status == SpeechToText.doneStatus) {
print('listener stopped');
logIt('listener stopped');
// await _speechToText.stop();
// print('speech stopped');
_loopTest();
}
setState(() {});
Expand All @@ -136,11 +140,18 @@ class _MyHomePageState extends State<MyHomePage> {
setState(() {});
}

void _onPlayerStop() {
print('Player stopped');
void _onPlayerStop() async {
logIt('Player stopped');
_currentActivity = 'listening';
++_loopCount;
_speechToText.listen(listenFor: Duration(seconds: 1));
// await Future.delayed(Duration(seconds: 1));
_speechToText.listen(listenFor: Duration(seconds: 5));
setState(() {});
}

void logIt(String message) {
final now = DateTime.now();
debugPrint('SoundLoop: $now, $message');
_info += message + '\n';
}
}
17 changes: 14 additions & 3 deletions examples/audio_player_interaction/lib/sound_player.dart
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import 'package:audioplayers/audioplayers.dart';
import 'package:flutter/foundation.dart';

abstract class SoundPlayer {
bool get isPlaying;
Expand Down Expand Up @@ -30,18 +31,28 @@ class AudioSoundPlayer implements SoundPlayer {
assetToPlay,
));
}
player.onPlayerStateChanged
.listen((s) => s == PlayerState.completed ? _onStop?.call() : null);
player.onPlayerStateChanged.listen((s) => _listen(s));
}

void _listen(PlayerState s) {
logIt('Player state changed: $s');
if (s == PlayerState.completed) {
stop();
}
}

@override
Future stop() async {
player.stop();
_onStop?.call();
}

@override
Future setAsset(String assetPath,
{bool preload = true, Duration? initialPosition}) async {
// return player.setAsset(assetPath);
}

void logIt(String msg) {
debugPrint('SoundLoop: $msg');
}
}

0 comments on commit 34a0120

Please sign in to comment.