calls/lib/controller/play.dart

39 lines
1 KiB
Dart
Raw Normal View History

Something mostly working. Squashed commit of the following: commit b15263546eadbc86de233996c5c32ceb17e0a45d Author: Daniel Ponte <amigan@gmail.com> Date: Wed Aug 14 09:29:49 2024 -0400 save bytes source class commit 3a6ac8868583a286c28f3d3de8b9a42ac52c5ba5 Author: Daniel Ponte <amigan@gmail.com> Date: Wed Aug 14 09:26:28 2024 -0400 safearea commit c411a007e62d4bb4551ce7f142ce7c3ef02485f9 Author: Daniel Ponte <amigan@gmail.com> Date: Wed Aug 14 08:33:11 2024 -0400 try to play commit 5a8e7c7690d803a1d676a7e4a30ef9807cd17294 Author: Daniel Ponte <amigan@gmail.com> Date: Wed Aug 14 08:29:53 2024 -0400 protoc commit c776d37765b522b0ac87e3b5efb5561e65a218a6 Author: Daniel Ponte <amigan@gmail.com> Date: Wed Aug 14 08:28:26 2024 -0400 wip commit 0d150d73d8f2631b7f6669e935ec212bbfb98ef8 Author: Daniel Ponte <amigan@gmail.com> Date: Tue Aug 13 23:07:35 2024 -0400 big huge wip commit db99eeb43ad35259d3bc998d63afd94e8bcf84b5 Author: Daniel Ponte <amigan@gmail.com> Date: Tue Aug 13 21:03:42 2024 -0400 big wip commit 5af1b90ccca175566c3bfad397dbd7b14e08cee7 Author: Daniel Ponte <amigan@gmail.com> Date: Tue Aug 13 20:04:37 2024 -0400 WIP commit 08183de44f347e2962b2a5830b920ce3bad08a7a Author: Daniel Ponte <amigan@gmail.com> Date: Tue Aug 13 10:41:06 2024 -0400 notifier commit 5f92cf977ba657b94c623b891421169ce6d887fd Author: Daniel Ponte <amigan@gmail.com> Date: Mon Aug 12 09:13:43 2024 -0400 wip commit d6d590684d091d4746743fe8a77ee548e88a3f17 Author: Daniel Ponte <amigan@gmail.com> Date: Mon Aug 12 07:47:08 2024 -0400 fix commit 9d58f4fa7f75fccd88e8720af5e6aa1668bbb403 Author: Daniel Ponte <amigan@gmail.com> Date: Sun Aug 11 23:59:01 2024 -0400 wip commit d61ce79c295d965f457138e928b03aae4e3e6a6d Author: Daniel Ponte <amigan@gmail.com> Date: Sun Aug 11 19:23:16 2024 -0400 wip commit f4ea5916b8ca4361aaaddc4e4e1842e8328747a6 Author: Daniel Ponte <amigan@gmail.com> Date: Sat Aug 10 17:07:52 2024 -0400 macos stuff commit fe8bdc13a5ea12b10eb4110158aa7248ff851889 Author: Daniel Ponte <amigan@gmail.com> Date: Sat Aug 10 17:07:04 2024 -0400 add default case commit 9bc788035b1ba3c576a3ee1c7120259e727e24a2 Author: Daniel Ponte <amigan@gmail.com> Date: Sat Aug 10 16:38:46 2024 -0400 wip commit 8e99afeb31f7bba36264347ad11aed0ce48100f0 Author: Daniel Ponte <amigan@gmail.com> Date: Sat Aug 10 14:36:08 2024 -0400 Controller commit e64948bef5c3d0024ad3756a812ba980b6aa62f2 Author: Daniel Ponte <amigan@gmail.com> Date: Sat Aug 10 14:24:28 2024 -0400 ws
2024-08-14 09:30:27 -04:00
import 'dart:typed_data';
import 'package:audioplayers/audioplayers.dart';
import '../pb/stillbox.pb.dart';
class Player {
final player = AudioPlayer();
Player();
Future<void> play(Call call) {
// TODO make a queue
return player.play(BytesSource(Uint8List.fromList(call.audio)));
}
}
/*
for just_audio (add just_audio and just_audio_linux)
class CallBytesSource extends StreamAudioSource {
late Uint8List _buffer;
final Call _call;
factory CallBytesSource(Call call) {
return CallBytesSource._(call, Uint8List.fromList(call.audio));
}
CallBytesSource._(this._call, this._buffer) : super(tag: 'CallBytesSource');
@override
Future<StreamAudioResponse> request([int? start, int? end]) async {
// Returning the stream audio response with the parameters
return StreamAudioResponse(
sourceLength: _buffer.length,
contentLength: (end ?? _buffer.length) - (start ?? 0),
offset: start ?? 0,
stream: Stream.fromIterable([_buffer.sublist(start ?? 0, end)]),
contentType: _call.audioType,
);
}
}
*/