How to play back media in a softphone (developing in .NET)
I am working on a project to develop a softphone and I need to play back media in my softphone. I am using this sample program provided by Ozeki VoIP SIP SDK: google -> voip-sip-sdk.com/p_406-voip-media-handling-voip
So here is my project:
Playing an uncompressed .wav audio file, I needed to find and open one. Ozeki VoIP SIP SDK provided me a useful tool WaveStreamPlayback that is for audio playing in case of .wav files.
The WaveStreamPlayback is a MediaHandler that can be initialized by setting the audio file to be played. I could do this by adding the filename (if it is in the same directory as the program) or the file path. I could also specify the repetition, the packetization time and if it is necessary I could set that a cache stream needs to be used.
In the sample program the audio file to play is specified by a textbox element. In this textbox I could give the file path or filename to be played. I could also use the Open button to pop up a browsing window where I could browse for the proper audio file.
When the audio file is specified, I could start playing with pressing the Start button on the GUI. If every parameter is set properly the playback will start buttonStartPlayback.Text = "Pause";
1. WaveStreamPlayback.StartStreaming(); 2. WaveStreamPlayback.IsStreaming = true; 3. }
1. buttonStartPlayback.Text = "Start"; 2. WaveStreamPlayback.PauseStreaming(); 3. WaveStreamPlayback.IsStreaming = false;
1. textBoxRecordingFile.Text = string.Empty; 2. if (WaveStreamPlayback != null) 3. { 4. WaveStreamPlayback.StopStreaming(); 5. buttonStartPlayback.Text = "Start"; 6. speaker.Stop(); 7. connector.Disconnect(WaveStreamPlayback, speaker); 8. WaveStreamPlayback.Dispose(); 9. WaveStreamPlayback = null; 10. }
You can find more useful information about other VoIP technologies on the website.
Good developing!