void call_CallStateChanged(object sender, Ozeki.VoIP.VoIPEventArgs<CallState> e) { if(e.Item.IsInCall()) { if(firstInCall) { try { entry.State = WorkState.InProgress; firstInCall = false; ringingTimer.Elapsed -= ringingTimer_Elapsed; waveStreamPlayback = new WaveStreamPlayback(entry.SoundPath); call.ConnectAudioSender(waveStreamPlayback); waveStreamPlayback.Stopped += waveStreamPlayback_Stopped; waveStreamPlayback.StartStreaming(); progressTimer.Start(); } catch (Exception ex) { OnWorkCompleted(WorkState.FileError); } } } else if(e.Item.IsCallEnded()) { OnWorkCompleted(WorkState.HungUpByRemote); } }
private void StartStreaming() { _log.Info("Playing tone file"); _callSender.AttachToCall(_call); _wavPlayback.DataSent += WavRecorderDataSent; _wavPlayback.StartStreaming(); }
public void StartRingtone() { if (ringtonePlayer != null) { ringtonePlayer.StartStreaming(); } }
internal void SetRingtone(string filePath) { bool isStreaming = false; // dispose previous if (ringtonePlayer != null) { isStreaming = ringtonePlayer.IsStreaming; audioConnector.Disconnect(ringtonePlayer, speakerMixer); ringtonePlayer.Dispose(); ringtonePlayer = null; } // create new ringtonePlayer = new WaveStreamPlayback(filePath, true, true); audioConnector.Connect(ringtonePlayer, speakerMixer); // start if necessary if (isStreaming) { ringtonePlayer.StartStreaming(); } }
public void StartRingback() { if (ringbackPlayer != null) { ringbackPlayer.StartStreaming(); } }
void call_CallStateChanged(object sender, Ozeki.VoIP.VoIPEventArgs <CallState> e) { if (e.Item.IsInCall()) { if (firstInCall) { try { entry.State = WorkState.InProgress; firstInCall = false; ringingTimer.Elapsed -= ringingTimer_Elapsed; waveStreamPlayback = new WaveStreamPlayback(entry.SoundPath); call.ConnectAudioSender(waveStreamPlayback); waveStreamPlayback.Stopped += waveStreamPlayback_Stopped; waveStreamPlayback.StartStreaming(); progressTimer.Start(); } catch (Exception ex) { OnWorkCompleted(WorkState.FileError); } } } else if (e.Item.IsCallEnded()) { OnWorkCompleted(WorkState.HungUpByRemote); } }
public override void StartNarration(string audiofile) { currentAudioFile = audiofile; waveStreamPlayback = new WaveStreamPlayback(audiofile); waveStreamPlayback.Stopped += waveStreamPlayback_Stopped; OnNarrationStarting(); waveStreamPlayback.StartStreaming(); }
/// <summary> /// Starts streaming the wav file. /// </summary> public void StartWavPlayback() { if (wavPlayer == null) { return; } wavPlayer.StartStreaming(); }
public override void RestartNarration(string audioFile) { if (!string.IsNullOrEmpty(currentAudioFile) && audioFile != currentAudioFile) { changeAudioFile(audioFile); } else { waveStreamPlayback.StartStreaming(); } }
internal void SetRingtone(string filePath) { bool isStreaming = false; // dispose previous if (ringtonePlayer != null) { isStreaming = ringtonePlayer.IsStreaming; audioConnector.Disconnect(ringtonePlayer, speakerMixer); ringtonePlayer.Dispose(); ringtonePlayer = null; } // create new ringtonePlayer = new WaveStreamPlayback(filePath, true, true); audioConnector.Connect(ringtonePlayer, speakerMixer); // start if necessary if (isStreaming) ringtonePlayer.StartStreaming(); }
private void btnPlay_Click(object sender, EventArgs e) { btnPlay.Enabled = false; btnPause.Enabled = true; btnPause.Focus(); #region Wav File if (m_MediaType == eMediaType.WavFile) { if (m_MediaPlayerWav != null) { if (!m_MediaPlayerWav.IsStreaming) { if (m_TrackerDragged) m_MediaPlayerWav.Stream.Position = Convert.ToInt64(barAudioTracker.EditValue); m_MediaPlayerWav.StartStreaming(); AudioTick.Start(); } return; } m_MediaSpeaker = Speaker.GetDefaultDevice(); //AudioSettingUtility.GetDefaultDeviceSpeaker(); if (m_MediaSpeaker == null) { MessageBox.Show("No audio device found.", "Bright Sales", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } m_Connector = new MediaConnector(); m_MediaPlayerWav = new WaveStreamPlayback(m_MediaFile); barAudioTracker.Properties.Minimum = 0; barAudioTracker.Properties.Maximum = Convert.ToInt32(m_MediaPlayerWav.Stream.Length); m_MediaSpeaker.Start(); m_Connector.Connect(m_MediaPlayerWav, m_MediaSpeaker); m_MediaPlayerWav.StartStreaming(); m_MediaPlayerWav.IsStreaming = true; AudioTick.Start(); } #endregion #region Mp3 File else if (m_MediaType == eMediaType.Mp3File) { if (m_MediaPlayerMp3 != null) { if (!m_MediaPlayerMp3.IsStreaming) { if (m_TrackerDragged) m_MediaPlayerMp3.Stream.Position = Convert.ToInt64(barAudioTracker.EditValue); m_MediaPlayerMp3.StartStreaming(); AudioTick.Start(); } return; } m_MediaSpeaker = Speaker.GetDefaultDevice(); // AudioSettingUtility.GetDefaultDeviceSpeaker(); if (m_MediaSpeaker == null) { MessageBox.Show("No audio device found.", "Bright Sales", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } m_Connector = new MediaConnector(); m_MediaPlayerMp3 = new MP3StreamPlayback(m_MediaFile); barAudioTracker.Properties.Minimum = 0; barAudioTracker.Properties.Maximum = Convert.ToInt32(m_MediaPlayerMp3.Stream.Length); m_MediaSpeaker.Start(); m_Connector.Connect(m_MediaPlayerMp3, m_MediaSpeaker); m_MediaPlayerMp3.StartStreaming(); m_MediaPlayerMp3.IsStreaming = true; AudioTick.Start(); } #endregion }
private void CallPressed(string phoneNumber) { Logger.Log("Calling " + phoneNumber); WaveStreamPlayback waveStream = null; initiatedCall = apiExt.CreateCall(UsedPhoneNumber, phoneNumber, phoneNumber); if (initiatedCall == null) return; bool transferStarted = false; initiatedCall.CallStateChanged += (sender, e) => { try { if (e.Item == CallState.Answered) { if (transferStarted) { initiatedCall.DisconnectAudioSender(waveStream); waveStream.Dispose(); var tts = new TextToSpeech(); tts.Stopped += (sender1, e1)=>{ tts.Dispose(); initiatedCall.HangUp(); }; initiatedCall.ConnectAudioSender(tts); tts.AddAndStartText(string.Format("Calling {0} has failed. Please try again later.", phoneNumber)); return; } var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("OPSCallAssistant.Resources.ringback.wav"); waveStream = new WaveStreamPlayback(stream, true, true); initiatedCall.ConnectAudioSender(waveStream); waveStream.StartStreaming(); transferStarted = true; initiatedCall.BlindTransfer(phoneNumber); } if (e.Item.IsCallEnded()) { if (waveStream != null) waveStream.Dispose(); } } catch(Exception ex) { Logger.Log(ex.Message); Logger.Log(ex.StackTrace); } var k = 65; }; initiatedCall.Start(); }
private void CallPressed(string phoneNumber) { Logger.Log("Calling " + phoneNumber); WaveStreamPlayback waveStream = null; initiatedCall = apiExt.CreateCall(UsedPhoneNumber, phoneNumber, phoneNumber); if (initiatedCall == null) { return; } bool transferStarted = false; initiatedCall.CallStateChanged += (sender, e) => { try { if (e.Item == CallState.Answered) { if (transferStarted) { initiatedCall.DisconnectAudioSender(waveStream); waveStream.Dispose(); var tts = new TextToSpeech(); tts.Stopped += (sender1, e1) => { tts.Dispose(); initiatedCall.HangUp(); }; initiatedCall.ConnectAudioSender(tts); tts.AddAndStartText(string.Format("Calling {0} has failed. Please try again later.", phoneNumber)); return; } var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("OPSCallAssistant.Resources.ringback.wav"); waveStream = new WaveStreamPlayback(stream, true, true); initiatedCall.ConnectAudioSender(waveStream); waveStream.StartStreaming(); transferStarted = true; initiatedCall.BlindTransfer(phoneNumber); } if (e.Item.IsCallEnded()) { if (waveStream != null) { waveStream.Dispose(); } } } catch (Exception ex) { Logger.Log(ex.Message); Logger.Log(ex.StackTrace); } var k = 65; }; initiatedCall.Start(); }