read method

  1. @override
Stream<Uint8List> read(
  1. int length,
  2. int duration
)
override

Implementation

@override
Stream<Uint8List> read(int length, int duration) async* {
  final raw = _raw;
  if (raw == null) throw Exception();
  final buf = calloc<Uint8>(length);
  var count = 0;
  while (isOpen) {
    count = _api.read(raw, buf, length);
    if (count == -1) {
      break;
    } else if (count > 0) {
      yield buf.asTypedList(count);
    }
    await Future.delayed(Duration(milliseconds: duration));
  }
  calloc.free(buf);
}