Click or drag to resize
Veeplay

About

The Veeplay Media Player allows you to:

  • Create playlists of synchronized videos and overlays
  • Configure a playlist from an external JSON file, an equivalent Dictionary structure or directly via code attributes
  • Create custom, native overlays
  • Automatically configure ad linear inserts (pre, mid and post rolls) as well as nonlinear inserts (banner overlays), VAST 1.0, 2.0, 3.0 and VMAP 1.0 compliant
  • Create custom player skins, brand player with logo, insert overlay bugs, customize player controls
  • Track video and overlay lifecycle events in real-time, as rendered

Visual Studio Integration

Step 1: Add the Veeplay library to your project
a. Via Nuget Package Manager:
- In Solution Explorer, right-click on References
- Select Manage Nuget References...
- Search for Veeplay-SDK
- Install Veeplay for every project necesary

b. Via Package Manager Console:
- Open Package Manager Console from Tools -> Nuget Package Manager -> Package Manager Console
- In Package Manager Console window execute command PM> Install-Package VeePlay-SDK

Step 2: Add extensions to Package.appxmanifest
a. In Visual Studio:
- Right click the Package.appxmanifest located in your Windows / Windows Phone project in Solution explorer and choose Open With ...
- Select XML Text Editor
- Add the folowing XML element in the Package tag (between Aplications and Capabilites for example): <Extensions> <Extension Category="windows.activatableClass.inProcessServer"> <InProcessServer> <Path>VeeplayRenderer.dll</Path> <ActivatableClass ActivatableClassId="VeeplayRenderer.HLSSchemeHandler" ThreadingModel="both" /> </InProcessServer> </Extension> </Extensions> You're Package.appxmanifest should look like this: <Package xmlns="http://schemas.microsoft.com/appx/2010/manifest" xmlns:m2="http://schemas.microsoft.com/appx/2013/manifest" xmlns:m3="http://schemas.microsoft.com/appx/2014/manifest" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest"> <Identity Name="23ed19a3-862d-4215-b27a-bccadb36bc1f" Publisher="CN=Sergiu" Version="1.0.0.0" /> <mp:PhoneIdentity PhoneProductId="35cfa20e-2bc3-4329-a2ee-50ddd6a0ae3c" PhonePublisherId="00000000-0000-0000-0000-000000000000" /> <Properties> <DisplayName>VeeplayDemoApp.WindowsPhone</DisplayName> <PublisherDisplayName>Sergiu</PublisherDisplayName> <Logo>Assets\StoreLogo.png</Logo> </Properties> <Prerequisites> <OSMinVersion>6.3.1</OSMinVersion> <OSMaxVersionTested>6.3.1</OSMaxVersionTested> </Prerequisites> <Resources> <Resource Language="x-generate" /> </Resources> <Applications> <Application Id="App" Executable="$targetnametoken$.exe" EntryPoint="VeeplayDemoApp.WindowsPhone.App"> <m3:VisualElements DisplayName="VeeplayDemoApp.WindowsPhone" Square150x150Logo="Assets\Logo.png" Square44x44Logo="Assets\SmallLogo.png" Description="VeeplayDemoApp.WindowsPhone" ForegroundText="light" BackgroundColor="transparent"> <m3:DefaultTile Wide310x150Logo="Assets\WideLogo.png" Square71x71Logo="Assets\Square71x71Logo.png"> </m3:DefaultTile> <m3:SplashScreen Image="Assets\SplashScreen.png" /> </m3:VisualElements> </Application> </Applications> <Extensions> <Extension Category="windows.activatableClass.inProcessServer"> <InProcessServer> <Path>VeeplayRenderer.dll</Path> <ActivatableClass ActivatableClassId="VeeplayRenderer.HLSSchemeHandler" ThreadingModel="both" /> </InProcessServer> </Extension> </Extensions> <Capabilities> <Capability Name="internetClientServer" /> </Capabilities> </Package>

Simple Usage Example


Use the MediaPlayer and MediaBuilder namespace:
using Veeplay.media;
In the page Loaded handler:
Create a new MediaBuilder instance and configure it from remote JSON:
MediaBuilder builder = new MediaBuilder();
builder.configureFromURL("http://domain.tld/player.json");
Optionally, set the debugMode flag to true and set the debugLevel to enable debug console logging:
MediaPlayer.debugMode = true;
MediaPlayer.debugLevel = 3;
Create a new MediaPlayer instance:
MediaPlayer.getInstance().init(this, false);
Add the media player the current Page:
grid.Children.Add(MediaPlayer.getInstance().viewController());
Play content as configured:
MediaPlayer.getInstance().playMediaUnits(builder.mediaUnits());
Namespaces