This repository provides sample applications for you to better understand the features of the Vonage Windows SDK. Feel free to copy and modify the source code herein for your own projects. Please consider sharing your modifications with us, especially if they might benefit other developers using the Vonage Windows SDK. See the License for more information.
-
Get values for your Vonage Application ID, Session ID, and Token. See Obtaining Vonage Credentials for important information.
-
In Visual Studio, open the .sln solution file for the sample app you are using (CustomVideoRenderer/CustomVideoRenderer.sln, ScreenSharing/ScreenSharing.sln, or SimpleMultiparty/SimpleMultiparty.sln).
-
Open the MainWindow.xaml.cs file for the app and edit the values for
APP_ID,SESSION_ID, andTOKENto match Application ID, session ID, and token data you obtained in step 1.
NuGet automatically installs the Vonage SDK when you build the project.
Test on non-development machines: Vonage SDK includes native code that depends on Visual C++ Redistributable for Visual Studio 2015. It's probably already installed on your development machine but not on test machines. Also, you may need 32-bit version even if all your code is AnyCPU running on a 64-bit OS.
This app shows how to implement a simple video call.
Similar to BasicVideoChat but using WinForms as the presentation framework.
Similar to BasicVideoChat but using UWP as the presentation framework. Keep in mind that this sample only works for a windows desktop UWP app. For a general UWP app that works on any UWP enabled platform (windows phone, hololens, XBOX, etc.), UWP SDK must be used instead (check nuget package Vonage.Client.Video.UWP).
This app shows how to implement a video call application with several clients.
This app shows how to use a custom video renderer. Most applications work fine with the default renderer (VideoRenderer) included with the Vonage Windows SDK. However, if you need to add custom effects, this sample application provides an understanding of how to implement a custom video renderer.
This app shows how to publish a screen-sharing stream to a session. This implements a custom video capturer to capturer to capture the screen as the video source for an Vonage publisher.
This app shows how to add metadata to video frames in a published stream and how to read the metadata in a subscriber to the stream. It also shows to to use a very simple custom video capturer and custom video renderer.
This app shows more advanced management of audio devices with notifications capabilities that allow detecting when new devices are added, removed or the default selection is changed at windows OS level.
This sample implements the renderer subsystem of a custom audio device (IAudioDevice) to read audio from a file and use it as input for the audio stream of a publisher.
This sample shows how to leverage the media processing API to apply transformations to the video and audio streams. The sample uses both custom transformers and standard transformers like blur and noise suppression provided by Vonage. For the latter, and additional package "Vonage.Client.Video.Transformers" is required.
This sample uses the AudioData API to record the audio received by a subscriber and save it to a wav file.
This sample implements the capturer subsystem of a custom audio device (IAudioDevice) to record received audio to a wav file.
To use the Vonage platform you need a session ID, token, and APP ID. You can get these values by creating a project in your Vonage Dashboard, using the project Tools. For production deployment, you must generate the session ID and token values using one of the Vonage Server SDKs.
Interested in contributing? We ❤️ pull requests! See the Contribution guidelines.
We love to hear from you so if you have questions, comments or find a bug in the project, let us know! You can either:
- Open an issue on this repository
- See Vonage support for support options
- Tweet at us! We're @VonageDev on Twitter
- Or join the Vonage Developer Community Slack
- Check out the Developer Documentation
- Vonage Windows SDK reference