private void PhotonVoiceCreated(PhotonVoiceCreatedParams photonVoiceCreatedParams) { VoiceInfo voiceInfo = photonVoiceCreatedParams.Voice.Info; int bitsPerSample = 32; if (photonVoiceCreatedParams.Voice is LocalVoiceAudioShort) { bitsPerSample = 16; } string filePath = this.GetFilePath(); this.wavWriter = new WaveWriter(filePath, new WaveFormat(voiceInfo.SamplingRate, bitsPerSample, voiceInfo.Channels)); if (this.Logger.IsInfoEnabled) { this.Logger.LogInfo("Outgoing stream, output file path: {0}", filePath); } if (photonVoiceCreatedParams.Voice is LocalVoiceAudioFloat) { LocalVoiceAudioFloat localVoiceAudioFloat = photonVoiceCreatedParams.Voice as LocalVoiceAudioFloat; localVoiceAudioFloat.AddPreProcessor(new OutgoingStreamSaverFloat(this.wavWriter)); } else if (photonVoiceCreatedParams.Voice is LocalVoiceAudioShort) { LocalVoiceAudioShort localVoiceAudioShort = photonVoiceCreatedParams.Voice as LocalVoiceAudioShort; localVoiceAudioShort.AddPreProcessor(new OutgoingStreamSaverShort(this.wavWriter)); } }
// Message sent by Recorder private void PhotonVoiceCreated(PhotonVoiceCreatedParams p) { if (p.Voice is LocalVoiceAudioFloat) { LocalVoiceAudioFloat v = p.Voice as LocalVoiceAudioFloat; this.floatProcessor = new MicAmplifierFloat(this.AmplificationFactor, this.BoostValue); v.AddPostProcessor(this.floatProcessor); } else if (p.Voice is LocalVoiceAudioShort) { LocalVoiceAudioShort v = p.Voice as LocalVoiceAudioShort; this.shortProcessor = new MicAmplifierShort((short)this.AmplificationFactor, (short)this.BoostValue); //this.shortProcessor = new SimpleAmplifierShortProcessor((short)(this.AmplificationFactor* short.MaxValue), (short)(this.boostValue * short.MaxValue)); v.AddPostProcessor(this.shortProcessor); } else if (this.Logger.IsErrorEnabled) { this.Logger.LogError("LocalVoice object has unexpected value/type: {0}", p.Voice == null ? "null" : p.Voice.GetType().ToString()); } }