private void AudioINcomboBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { AudioDeviceInfo wybrane = AudioINcomboBox.SelectedItem as AudioDeviceInfo; microphone = Microphone.GetDevice(wybrane); Mikrofonslider.Value = microphone.Volume * 100; }
/// <summary> /// Changes the microphone device. /// </summary> public void ChangeMicrophone(DeviceInfo deviceInfo) { if (!initialized) { return; } float prevVolume = 0; bool prevMuted = false; if (Microphone != null) { // same device if (Microphone.DeviceInfo.Equals(deviceInfo)) { return; } // backup settings prevVolume = Microphone.Volume; prevMuted = Microphone.Muted; // dispose previous device audioConnector.Disconnect(Microphone, AudioEnhancer); UnsubscribeFromMicrophoneEvents(); Microphone.Dispose(); } // create new microphone Microphone = Microphone.GetDevice(deviceInfo); if (Microphone != null) { SubscribeToMicrophoneEvents(); audioConnector.Connect(Microphone, AudioEnhancer); // set prev device settings Microphone.Volume = prevVolume; Microphone.Muted = prevMuted; Microphone.Start(); } OnPropertyChanged("Microphone"); }
public static void loadActions() { try { sipClient sipClient = (from p in Application.OpenForms.OfType <sipClient>() select p).FirstOrDefault(); sipClient.answerPanel.Visible = false; sipClient.downloadBar.Visible = false; Screen myScreen = Screen.PrimaryScreen; Ozeki.VoIP.SDK.Protection.LicenseManager.Instance.SetLicense("OZSDK-DNA2CALL-151119-282F5AEA", "TUNDOjIsTVBMOjIsRzcyOTp0cnVlLE1TTEM6MixNRkM6MixVUDoyMDE2LjExLjE5LFA6MjE5OS4wMS4wMXxGdnd4ZEt6SnFRbzI1eXdvMmpVaVkrdVVscUpoRXg0OGNta2w4WDYzMGFJMENOWkx4dmtobXgrWURXMERaQjAwNHcvbE4xL25FYnpORGh2Qm5WUWdXZz09"); sipClient.softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); sipClient.statusScreen.Text = "Started"; sipClient.Height = myScreen.WorkingArea.Height; sipClient.Location = new Point(getStartPosition(sipClient.Width), 0); logAdd("", 1, "Application Started"); bool result = registerToSIP(); if (result == true) { sipClient.phoneLine1.RegistrationStateChanged += sipClient.sipAccount_RegStateChanged; sipClient.softphone.IncomingCall += sipClient.softphone_IncomingCall; sipClient.sipMessageLogger = new SIPMessageLogger(); sipClient.sipMessageLogger.SIPMessageReceived += (sipClient.sipMessageLogger_SIPMessageReceived); bool microphoneSuccess = false; Microphone.GetDevices().ForEach(delegate(Ozeki.Media.Audio.DeviceInfo mic) { if (mic.ProductName.Contains(defMicrophone)) { sipClient.microphone = Microphone.GetDevice(mic); MessageBox.Show("Mikrofon seçildi = " + mic.ProductName.ToString()); microphoneSuccess = true; } }); bool speakerSuccess = false; Speaker.GetDevices().ForEach(delegate(Ozeki.Media.Audio.DeviceInfo speaker) { if (speaker.ProductName.Contains(defSpeaker)) { sipClient.speaker = Speaker.GetDevice(speaker); MessageBox.Show("Kulaklık seçildi = " + speaker.ProductName.ToString()); speakerSuccess = true; } }); if (microphoneSuccess == false) { sipClient.microphone = Microphone.GetDefaultDevice(); main.errorModal("Daha önce seçtğiniz " + defMicrophone + " adlı cihaz şuan bu PC'ye bağlı değil. Bu sebeple varsayılan mikrofon seçildi."); } if (speakerSuccess == false) { sipClient.speaker = Speaker.GetDefaultDevice(); main.errorModal("Daha önce seçtğiniz " + defSpeaker + " adlı cihaz şuan bu PC'ye bağlı değil. Bu sebeple varsayılan kulaklık/hoparlör seçildi."); } sipClient.mediaReceiver = new PhoneCallAudioReceiver(); sipClient.mediaSender = new PhoneCallAudioSender(); sipClient.connector = new MediaConnector(); disableAllAudioCodecs(); disableAllVideoCodecs(); enableAudioCodec(defAudioCodec); enableVideoCodec(defVideoCodec); wsc.getAgentAnnounces(); } } catch (Exception err) { errorModal("LoadActions: " + err.Message.ToString()); } }