private void WybierzDomyslnySprzet() { while (Microphone.GetDevicesCount() == 0) { if (MessageBox.Show("Brak wejściowego urządzenia audio, bez odpowiedniego sprzętu aplikacja nie będzie działać. Podłącz mikrofon i naciśnij Tak, aby kontynuować. Jeśli naciśniesz Nie aplikacja zostanie zamknięta.", "Brak odpowiedniego sprzętu", MessageBoxButton.YesNo, MessageBoxImage.Error) == MessageBoxResult.No) { Environment.Exit(0); } } while (Speaker.GetDevicesCount() == 0) { if (MessageBox.Show("Brak wyjściowego urządzenia audio, bez odpowiedniego sprzętu aplikacja nie będzie działać. Podłącz głośniki lub słuchawki i naciśnij Tak, aby kontynuować. Jeśli naciśniesz Nie aplikacja zostanie zamknięta.", "Brak odpowiedniego sprzętu", MessageBoxButton.YesNo, MessageBoxImage.Error) == MessageBoxResult.No) { Environment.Exit(0); } } if (System.Windows.Application.Current.Properties["WejscieAudio"] == null) { System.Windows.Application.Current.Properties["WejscieAudio"] = Microphone.GetDefaultDevice(); } if (System.Windows.Application.Current.Properties["WyjscieAudio"] == null) { Speaker glosnik = Speaker.GetDefaultDevice(); glosnik.Volume = 1; System.Windows.Application.Current.Properties["WyjscieAudio"] = glosnik; } }
/// <summary> /// Initializes the audio handlers (microphone, speaker, DTMF player etc.). /// </summary> private void InitAudio() { // ----- CREATE ----- // devices Microphone = Microphone.GetDefaultDevice(); Speaker = Speaker.GetDefaultDevice(); // audio processors if (Microphone == null) { AudioEnhancer = new AudioQualityEnhancer(new AudioFormat()); } else { AudioEnhancer = new AudioQualityEnhancer(Microphone.MediaFormat); } AudioEnhancer.SetEchoSource(Speaker); _dtmfPlayer = new DtmfEventWavePlayer(); // ringtones var ringbackStream = LoadRingbackStream(); var ringtoneStream = LoadRingtoneStream(); _ringtonePlayer = new WaveStreamPlayback(ringtoneStream, true, false); _ringbackPlayer = new WaveStreamPlayback(ringbackStream, true, false); // mixers //outgoingDataMixer = new AudioForwarder(); //speakerMixer = new AudioForwarder(); //recordDataMixer = new AudioForwarder(); // phone handlers _phoneCallAudioSender = new PhoneCallAudioSender(); _phoneCallAudioReceiver = new PhoneCallAudioReceiver(); // ----- CONNECT ----- // connect outgoing //audioConnector.Connect(AudioEnhancer, outgoingDataMixer); //audioConnector.Connect(outgoingDataMixer, phoneCallAudioSender); //audioConnector.Connect(outgoingDataMixer, recordDataMixer); _audioConnector.Connect(AudioEnhancer, _phoneCallAudioSender); if (Microphone != null) { Microphone.LevelChanged += (Microphone_LevelChanged); _audioConnector.Connect(Microphone, AudioEnhancer); } // connect incoming if (Speaker != null) { Speaker.LevelChanged += (Speaker_LevelChanged); _audioConnector.Connect(_phoneCallAudioReceiver, Speaker); _audioConnector.Connect(_ringtonePlayer, Speaker); _audioConnector.Connect(_ringbackPlayer, Speaker); _audioConnector.Connect(_dtmfPlayer, Speaker); } }
private void StartMicro() { _microphone = Microphone.GetDefaultDevice(); if (_microphone != null) { _microphone.Start(); InvokeGUIThread(() => { lb_Log.Items.Add("Microphone Started."); }); } }
public void OzekiInitialization() { softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); connector = new MediaConnector(); }
private void frmTelefono_Load(object sender, EventArgs e) { //Inicializa los componentes para las llamadas _microphone = Microphone.GetDefaultDevice(); _speaker = Speaker.GetDefaultDevice(); _connector = new MediaConnector(); _mediaSender = new PhoneCallAudioSender(); _mediaReceiver = new PhoneCallAudioReceiver(); InitializeSoftphone(); }
/// <summary> /// Default constructor, initalizes the softphone with deafult parameters. /// </summary> public Softphone() { _softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); _microphone = Microphone.GetDefaultDevice(); _speaker = Speaker.GetDefaultDevice(); _connector = new MediaConnector(); _mediaSender = new PhoneCallAudioSender(); _mediaReceiver = new PhoneCallAudioReceiver(); }
/// <summary> /// Handler of making call and receiving call /// </summary> /// <param name="registerName">The SIP ID what will registered into your PBX</param> /// <param name="domainHost">The address of your PBX</param> public CallHandlerSample(string registerName, string domainHost) { microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); connector = new MediaConnector(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); InitializeSoftPhone(registerName, domainHost); }
public Softphone() { softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); connector = new MediaConnector(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); incomingCall = false; }
static void OzekiInit() { //softphone = SoftPhoneFactory.CreateSoftPhone(6000, 6200); softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); //Console.WriteLine("OZEKI: CreatedSoftPhone"); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); connector = new MediaConnector(); }
public PhoneForm() { InitializeComponent(); softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); connector = new MediaConnector(); }
void form_CallAssistant_Load(object sender, EventArgs e) { _microphone = Microphone.GetDefaultDevice(); _speaker = Speaker.GetDefaultDevice(); _connector = new MediaConnector(); _mediaSender = new PhoneCallAudioSender(); _mediaReceiver = new PhoneCallAudioReceiver(); _databaseManager = new DatabaseManager(); InitializeSoftphone(); }
//OZEKI void Ozeki() { softphone = SoftPhoneFactory.CreateSoftPhone(6000, 6200); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); connector = new MediaConnector(); var config = new DirectIPPhoneLineConfig(local_ip, 5060); phoneLine = softphone.CreateDirectIPPhoneLine(config); phoneLine.RegistrationStateChanged += line_RegStateChanged; softphone.IncomingCall += softphone_IncomingCall; softphone.RegisterPhoneLine(phoneLine); }
/// <summary> /// Default constructor, initalizes the softphone with deafult parameters. /// </summary> public SoftPhone() { //you can specify the User-Agent of the softphone string userAgent = "ORX SoftPhone"; _softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000, userAgent); _microphone = Microphone.GetDefaultDevice(); _speaker = Speaker.GetDefaultDevice(); _connector = new MediaConnector(); _mediaSender = new PhoneCallAudioSender(); _mediaReceiver = new PhoneCallAudioReceiver(); _incomingCall = false; MediaHandlers = new MediaHandlers(); InitMedia(); }
static void Main(string[] args) { microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); connector = new MediaConnector(); audioProcessor = new AudioQualityEnhancer(); audioProcessor.NoiseReductionLevel = NoiseReductionLevel.Medium; audioProcessor.SetEchoSource(speaker); connector.Connect(microphone, audioProcessor); connector.Connect(audioProcessor, speaker); microphone.Start(); speaker.Start(); Console.ReadLine(); }
static void Main(string[] args) { microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); connector = new MediaConnector(); audioProcessor = new AudioQualityEnhancer(); audioProcessor.AcousticEchoCancellation = true; // acoustic echo cancellation is enabled audioProcessor.SetEchoSource(speaker); // sets the speaker to be the source of the echo connector.Connect(microphone, audioProcessor); // voice data is being sent through the enhancer connector.Connect(audioProcessor, speaker); audioProcessor.Start(); microphone.Start(); speaker.Start(); Console.ReadLine(); }
static void Main(string[] args) { microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); connector = new MediaConnector(); audioProcessor = new AudioQualityEnhancer(); audioProcessor.AutoGainControl = true; //enable audioProcessor.GainSpeed = 12; audioProcessor.MaxGain = 30; connector.Connect(microphone, audioProcessor); connector.Connect(audioProcessor, speaker); microphone.Start(); speaker.Start(); Console.ReadLine(); }
public MainWindowPresenter(IMainWindow my_view, IOPSClient my_client) { view = my_view; client = my_client; client.ErrorOccurred += ClientOnErrorOccured; microphone = Microphone.GetDefaultDevice(); if (microphone != null) { microphone.Start(); } speaker = Speaker.GetDefaultDevice(); if (speaker != null) { speaker.Start(); } client.SessionCreated += ClientOnSessionCreated; client.SessionCompleted += ClientOnSessionCompleted; client.PhoneBookChanged += ClientOnPhoneBookChanged; client.StatisticsChanged += ClientOnStatisticsChanged; }
void Glowna(string DocIP) { softphone = SoftPhoneFactory.CreateSoftPhone(5000, 10000); microphone = Microphone.GetDefaultDevice(); speaker = Speaker.GetDefaultDevice(); mediaSender = new PhoneCallAudioSender(); mediaReceiver = new PhoneCallAudioReceiver(); connector = new MediaConnector(); DoceloweIP = DocIP; //Console.WriteLine("Please enter the IP address of your machine: "); //var ipAddress = LocalIP; var config = new DirectIPPhoneLineConfig(LocalIP, 5060); //var config = new DirectIPPhoneLineConfig(textBox1.Text, 5060); phoneLine = softphone.CreateDirectIPPhoneLine(config); phoneLine.RegistrationStateChanged += line_RegStateChanged; softphone.IncomingCall += softphone_IncomingCall; softphone.RegisterPhoneLine(phoneLine); //Console.ReadLine(); }
public WebCameraEngine(VideoDeviceInfo device) { _camera = WebCamera.GetDevice(device); _microphone = Microphone.GetDefaultDevice(); }
/// <summary> /// Creates a complex phone call listener, built up from microphone, speaker, waverecorder, waveplayer, dtmf and ringtone sounds. /// </summary> /// <returns>The media handler collection that represent the phone call listener.</returns> public MediaHandlerCollection CreateSoftPhoneCallListener() { var phoneCallAudioReceiver = new PhoneCallAudioReceiver(); var phoneCallAudioSender = new PhoneCallAudioSender(); var microphone = Microphone.GetDefaultDevice(); var speaker = Speaker.GetDefaultDevice(); var audioProcessor = new AudioQualityEnhancer(); audioProcessor.SetEchoSource(speaker); // Handles the audio that comes from the PhoneCallListener var outgoingDataMixer = new AudioMixerMediaHandler(); var recordDataMixer = new AudioMixerMediaHandler(); var speakerMixer = new AudioMixerMediaHandler(); var dtmf = new DtmfEventWavePlayer(); var ringtones = new PhoneCallStateWavePlayer( commonWaveFormat, outGoingToneStreams, incomingToneStreams ); if (microphone != null) { mediaConnector.Connect(microphone, audioProcessor); } mediaConnector.Connect(audioProcessor, outgoingDataMixer); mediaConnector.Connect(outgoingDataMixer, phoneCallAudioSender); // No WaveStreamPlayback (see CreateWaveStreamPlayback method) //mediaConnector.Connect(phoneCallAudioReceiver, speaker); mediaConnector.Connect(phoneCallAudioReceiver, speakerMixer); mediaConnector.Connect(dtmf, speakerMixer); mediaConnector.Connect(ringtones, speakerMixer); if (speaker != null) { mediaConnector.Connect(speakerMixer, speaker); } mediaConnector.Connect(phoneCallAudioReceiver, recordDataMixer); mediaConnector.Connect(outgoingDataMixer, recordDataMixer); // No WaveStreamRecorder (see CreateWaveStreamRecorder method) /* * Media Connections: * * +---------------------------------------------------------------+ * | PhoneCall |************** * +---------------------------------------------------------------+ * * * ^^ VV * * * +--------------------+ +----------------------+ +----+ +---------+ * |PhoneCallAudioSender| |PhoneCallAudioReceiver| |DMTF| |Ringtones| * +--------------------+ +----------------------+ +----+ +---------+ * ^^ V V V | * +-----------------+ +---------------+ +------------+ | * |OutgoingDataMixer|----- >> -----|RecordDataMixer| |SpeakerMixer|--<<--/ * +-----------------+ +---------------+ +------------+ * ^^ ^^ V | *+--------------+ +------------------+ +------------------+ | *|AudioProcessor| |WaveStreamPlayback| |WaveStreamRecorder| V *+--------------+ +------------------+ +------------------+ V * ^^ | * +----------+ +-------+ * |Microphone| |Speaker| * +----------+ +-------+ */ var mediaHandlers = new Dictionary <string, VoIPMediaHandler> { { "AudioProcessor", audioProcessor }, { "OutGoingDataMixer", outgoingDataMixer }, { "RecordDataMixer", recordDataMixer }, { "SpeakerMixer", speakerMixer }, { "DTMF", dtmf }, { "Ringtones", ringtones }, { "AudioSender", phoneCallAudioSender }, { "AudiReceiver", phoneCallAudioReceiver }, }; if (microphone != null) { mediaHandlers.Add("Microphone", microphone); } if (speaker != null) { mediaHandlers.Add("Speaker", speaker); } return(new MediaHandlerCollection(mediaConnector, mediaHandlers)); }
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()); } }
/// <summary> /// Initializes the audio handlers (microphone, speaker, DTMF player etc.). /// </summary> private void InitAudio() { // ----- CREATE ----- // devices Microphone = Microphone.GetDefaultDevice(); Speaker = Speaker.GetDefaultDevice(); // audio processors AudioEnhancer = new AudioQualityEnhancer(); AudioEnhancer.SetEchoSource(Speaker); dtmfPlayer = new DtmfEventWavePlayer(); // ringtones var ringbackStream = LoadRingbackStream(); var ringtoneStream = LoadRingtoneStream(); ringtonePlayer = new WaveStreamPlayback(ringtoneStream, true, false); ringbackPlayer = new WaveStreamPlayback(ringbackStream, true, false); // mixers outgoingDataMixer = new AudioMixerMediaHandler(); speakerMixer = new AudioMixerMediaHandler(); recordDataMixer = new AudioMixerMediaHandler(); // phone handlers phoneCallAudioSender = new PhoneCallAudioSender(); phoneCallAudioReceiver = new PhoneCallAudioReceiver(); // ----- CONNECT ----- // connect outgoing audioConnector.Connect(AudioEnhancer, outgoingDataMixer); audioConnector.Connect(outgoingDataMixer, phoneCallAudioSender); audioConnector.Connect(outgoingDataMixer, recordDataMixer); if (Microphone != null) { Microphone.LevelChanged += (Microphone_LevelChanged); audioConnector.Connect(Microphone, AudioEnhancer); } // connect incoming audioConnector.Connect(phoneCallAudioReceiver, speakerMixer); audioConnector.Connect(phoneCallAudioReceiver, recordDataMixer); audioConnector.Connect(ringtonePlayer, speakerMixer); audioConnector.Connect(ringbackPlayer, speakerMixer); audioConnector.Connect(dtmfPlayer, speakerMixer); if (Speaker != null) { Speaker.LevelChanged += (Speaker_LevelChanged); audioConnector.Connect(speakerMixer, Speaker); } // add to collection Dictionary <string, VoIPMediaHandler> collection = new Dictionary <string, VoIPMediaHandler>(); collection.Add("AudioEnhancer", AudioEnhancer); collection.Add("DTMFPlayer", dtmfPlayer); collection.Add("OutgoingDataMixer", outgoingDataMixer); collection.Add("SpeakerMixer", speakerMixer); collection.Add("PhoneCallAudioSender", phoneCallAudioSender); collection.Add("PhoneCallAudioReceiver", phoneCallAudioReceiver); audioCollection = new MediaHandlerCollection(audioConnector, collection); }