This guide enables you to demonstrate the CONNECT Player features and view the example code.
For the development tools, current dependencies and minimum build configuration required, see (5.33.x) Prerequisites and dependencies.
Some features may have additional dependencies and libraries; see the README.md and build.gradle files in the relevant example code packages.
Download the Android SDK, which supplies all the files needed to launch the player and start streaming content.
opy-sdk-android-5.33.x-example-code.zip
This contains application projects which demonstrate how to use the player features.
opy-sdk-android-5.33.x-sdk-integration.aar
This is the SDK binary file used for integration purposes.
Procedure
Extract the opy-sdk-android-5.33.x-example-code.zip file to your desktop.
Go to opy-sdk-android-5.33.x-example-code > common, and place the opy-sdk-android-5.33.x-sdk-integration.aar file in the libs folder.
Open Android Studio and select Open an Existing Project and locate the opy-sdk-android-5.33.x-example-code folder.
When the project has built, select the required project from the dropdown menu (not the side file list); see the example projects below.
Connect an Android device to your development machine via USB and run the application.
Click here to see the example projects available.
Playback | basic-playback | Demonstrates playback of a clear stream with no additional functionality. |
---|
bookmark | Shows how to capture bookmark details when stopping playback and how to restore them when resuming. |
controlbar | Shows how to create a bespoke control bar in the application to control the player. |
multi-instance | Provides multiple instances of the player. |
keep-screen-on | Playback with the ability to override KeepScreenOn behaviour. |
lowlatency | Playback of a low-latency DASH stream, including configuration of low-latency parameters. |
output-control | Playback of clear streams with output control. |
resolution-capping | Playback of clear streams with resolution capping. |
thumbnails | Playback of clear streams with DASH-IF thumbnail previews. |
harmonicthumbnails | Playback of clear streams with Harmonic WebVTT thumbnail previews. |
thumbnails-iframe | Playback of clear streams with HLS I-Frame thumbnail preview. |
track-selection | Playback of clear streams with multi-audio. |
android-tv-preview | Previews of unencrypted and encrypted channels on the Android TV home screen. |
tunneled-playback | Playback with video decoding and rendering in tunnelled mode. |
viewport | Playback with viewport size detection. |
volume-enhancement | Playback with the ability to amplify the content audio. |
dns-resolver | Override the Android device's default network settings. |
Encrypted playback | encrypted-playback | Playback of Widevine encrypted content. |
---|
customised-encrypted-playback | Demonstrates a non-default implementation of Widevine. |
encrypted-playback-playready | Playback of PlayReady encrypted content. |
wiseplay | Playback of Wiseplay encrypted content. |
Offline playback | offline | Offline playback of clear and encrypted content. |
---|
offline-service | Offline playback with downloading as a service. |
Content security | single-ssm-workflow | Shows how to create a customised OTVCustomerSSMCallback to work with your own Secure Session Management (SSM) server. |
---|
ssm-encrypted-playback-jti | Playing SSM encrypted content fetching one-time tokens using JTI (JWT ID) claims. |
ssl-mutual authentication | Demonstrates SSL mutual authentication. |
key-per-track-robustness | Playback of Key-per-track content. |
watermark-pull-mode | Demonstrates QuickMark forensic watermarking in pull mode. |
watermark-push-mode | Demonstrates QuickMark forensic watermarking in push mode. |
Advertising | dynamic-ads-ima | Playback of clear streams with Google IMA adverts. |
---|
server-side-ad-insertion | Demonstrates use of adverts within streams with Server-Side Ad Insertion. |
yospace | Demonstrates the integration of the Yospace user interface handling of streams with Server-Side Ad Insertion. |
Statistics and analytics | error-reporting | Demonstrates error handling in the example code; see also Android SDK 5 Error Codes. |
---|
event-timeline | Playback of clear streams with feedback and analysis of performance tracking or playback issues. |
insight | Sends playback metrics and statistics to an Insight analytics server. |
production-log | Enables logging in production builds (not used here). |
Hardware support | chromecast | Playback of clear, encrypted and SSM streams on Chromecast. |
---|
connect-dash | Playback of CONNECT-encrypted DASH streams with NAGRA CONNECT. |
connect-post-delivery-dash-renewal | Playback of CONNECT-encrypted DASH streams with licence extension option. |
connect-post-delivery-renewal | Playback of CONNECT-encrypted HLS streams with licence extension option. |
connect-prm | Playback of CONNECT-encrypted HLS streams with NAGRA CONNECT. |
connect-predelivery-license | Playback where the application gets the licence ahead of playback. |
smartbeam | Shows how an application can playback streams in conjunction with Broadpeak SmartBeam set-top box. |
For full details on integrating the SDK with your application, see the Android SDK 5 Integration Guide. See also the API reference guide provided in the Android SDK pack.