OpusEncoder constructor
OpusEncoder({
- required Channels channels,
- required int sampleRate,
- Application application = Application.voip,
创建新的 Opus 编码器
channels 声道数:1 表示单声道(Mono),2 表示立体声(Stereo)
sampleRate 采样率(Hz),支持的采样率:8000, 12000, 16000, 24000, 48000
application 应用模式,默认为 Application.voip
抛出 OpusException 如果创建失败
Implementation
OpusEncoder({
required this.channels,
required this.sampleRate,
this.application = Application.voip,
}) {
final result = calloc<Pointer<Encoder>>();
final error = calloc<OpusError>();
try {
final res = bindings.new_encoder(
channels.value,
sampleRate,
application.value,
result,
error,
);
if (res != 0) {
final errorMsg = extractErrorMessage(error);
throw OpusException(error.ref.code, errorMsg);
}
_encoder = result.value;
} finally {
freeError(error);
calloc.free(result);
}
}