public Opus(AudioFormat audioFormat) { if (!audioFormat.IsValid()) { throw new ArgumentException("Invalid audio format specified.", nameof(audioFormat)); } this.AudioFormat = audioFormat; this.Encoder = Interop.OpusCreateEncoder(this.AudioFormat); // Set appropriate encoder options var sig = OpusSignal.Auto; switch (this.AudioFormat.VoiceApplication) { case VoiceApplication.Music: sig = OpusSignal.Music; break; case VoiceApplication.Voice: sig = OpusSignal.Voice; break; } Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetSignal, (int)sig); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetPacketLossPercent, 15); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetInBandFec, 1); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetBitrate, 131072); #if !NETSTANDARD1_1 this.ManagedDecoders = new List <OpusDecoder>(); #endif }
// Token: 0x06000165 RID: 357 RVA: 0x00004858 File Offset: 0x00002A58 public Opus(AudioFormat audioFormat) { if (!audioFormat.IsValid()) { throw new ArgumentException("Invalid audio format specified.", "audioFormat"); } this.AudioFormat = audioFormat; this.Encoder = Interop.OpusCreateEncoder(this.AudioFormat); OpusSignal value = OpusSignal.Auto; VoiceApplication voiceApplication = this.AudioFormat.VoiceApplication; if (voiceApplication != VoiceApplication.Voice) { if (voiceApplication == VoiceApplication.Music) { value = OpusSignal.Music; } } else { value = OpusSignal.Voice; } Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetSignal, (int)value); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetPacketLossPercent, 15); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetInBandFec, 1); Interop.OpusSetEncoderOption(this.Encoder, OpusControl.SetBitrate, 131072); this.ManagedDecoders = new List <OpusDecoder>(); }