prepare method
Future<WavFileAudioSinkSession>
prepare(
- AudioFormat format, {
- AudioCancellationToken? cancellationToken,
Allocates a sink for format without accepting frames yet.
Implementation
@override
Future<WavFileAudioSinkSession> prepare(
AudioFormat format, {
AudioCancellationToken? cancellationToken,
}) async {
cancellationToken?.throwIfCancelled();
final int bytesPerFrame = format.channels * encoding.bytesPerSample;
if (encodingBufferBytes < bytesPerFrame) {
throw ArgumentError.value(
encodingBufferBytes,
'encodingBufferBytes',
'Must hold at least one encoded interleaved sample frame '
'($bytesPerFrame bytes).',
);
}
if (_prepared) {
throw StateError('A WavFileAudioSink is single-use.');
}
_prepared = true;
return WavFileAudioSinkSession._prepare(
path: path,
format: format,
encoding: encoding,
gapPolicy: gapPolicy,
abortPolicy: abortPolicy,
encodingBufferBytes: encodingBufferBytes,
cancellationToken: cancellationToken,
);
}