This repository provides sample applications for you to better understand the features of the OpenTok 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 OpenTok Windows SDK. See the License for more information.
-
Get values for your OpenTok API key, session ID, and token.
You can obtain these values from your TokBox account. Make sure that the token isn't expired.
For testing, you can use a session ID and token generated at your TokBox account page. However, the final application should obtain these values using the OpenTok server SDKs. For more information, see the OpenTok developer guides on session creation and token creation.
-
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
API_KEY
,SESSION_ID
, andTOKEN
to match API key, session ID, and token data you obtained in step 1.
NuGet automatically installs the OpenTok SDK when you build the project.
Test on non-development machines: OpenTok 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 OpenTok 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 OpenTok 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.
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 https://support.tokbox.com/ for support options
- Tweet at us! We're @VonageDev on Twitter
- Or join the Vonage Developer Community Slack
- Check out the Developer Documentation at https://tokbox.com/developer/