Uiza Documentation
2020-05-28
2020-05-28
  • Hola! đź‘‹
  • Getting Started
    • Introduction
    • Authentication
    • Errors
    • Quick Starts
      • Live Streaming
      • Video Streaming
    • Pagination
    • Recommended Specifications
    • Postman Collections
    • Sample Streaming Apps
      • NodeJS Live Streaming App
      • Java Live Streaming App
      • Python Live Streaming App
      • How to integrate live streaming into an Android App using Uiza’s Live API
    • Versioning
  • API Reference
    • Live Entities
      • Create A Live Entity
      • Retrieve A Live Entity
      • Update A Live Entity
      • [Deprecated] Update A Live Entity
      • Delete A Live Entity
      • List All Live Entities
      • [Deprecated] Enable Live Entity DVR
      • [Deprecated] Disable Live Entity DVR
      • Reset Ingest Key
    • Live Sessions
      • Retrieve A Live Session
      • List All Live Sessions
    • Video Entities
      • Retrieve A Video Entity
      • Update A Video Entity
      • Publish A Video Entity
      • Delete A Video Entity
      • List All Video Entities
    • Video Presets
      • Create a Video Preset
      • Retrieve a Video Preset
      • Update a Video Preset
      • Delete a Video Preset
      • List all Video Presets
      • Add Profile(s) to Video Preset
      • Remove Profile(s) from Video Preset
    • Video Profiles
      • List All Video Profiles
    • Events
      • Retrieve An Event
      • List All Events
      • Event Types
    • Webhook Endpoints
      • Create Webhook Endpoint
      • Retrieve Webhook Endpoint
      • Update Webhook Endpoint
      • [Deprecated] Update Webhook Endpoint
      • Delete Webhook Endpoint
      • List All Webhook Endpoints
      • [Deprecated] Enable A Webhook Endpoint
      • [Deprecated] Disable A Webhook Endpoint
  • SDK REFERENCE
    • Introduction
    • Android SDK
      • Android Player SDK
      • Android Broadcast SDK
    • iOS SDK
      • iOS Player SDK
      • iOS Broadcast SDK
    • Web Player SDK
  • API UPGRADES
    • Release Notes
    • API Changelog
Powered by GitBook
On this page
  • Welcome to UIZA Android Player SDK
  • Importing the Library
  • Init SDK
  • Manifest
  • How to play the video?:
  • How to customize your skin?
  • Picture In Picture (PIP)
  • R8 / ProGuard
  • For contributors
  • Reference
  • Supported devices
  • Error message
  • Support
  • License

Was this helpful?

  1. SDK REFERENCE
  2. Android SDK

Android Player SDK

PreviousAndroid SDKNextAndroid Broadcast SDK

Last updated 5 years ago

Was this helpful?

Link to the Source code here:

Welcome to UIZA Android Player SDK

Simple Streaming at scale.

Uiza is the complete toolkit for building a powerful video streaming application with unlimited scalability. We design Uiza so simple that you only need a few lines of codes to start streaming, but sophisticated enough for you to build complex products on top of it.

Read .

Importing the Library

Step 1. Add the JitPack repository to your build.gradle file

    allprojects {
          repositories {
             maven { url 'https://jitpack.io' }
          }
    }

Step 2. Add the dependency

    implementation 'com.github.uizaio:uiza-android-player-sdk:1.1.x'

For Android Support Compat (Support until January 2021)

    implementation 'com.github.uizaio:uiza-android-player-sdk:1.0.x'

Get latest release number HERE.

  • Additionally, if you want to use the Chromecast feature, add the following dependencies to your project:

        // for ChromeCast
        implementation 'androidx.mediarouter:mediarouter:1.0.0'
        implementation 'com.google.android.gms:play-services-cast-framework:18.1.0'

if you use android support compat

        // for ChromeCast
        implementation 'com.android.support:mediarouter-v7:28.0.0'
        implementation 'com.google.android.gms:play-services-cast-framework:16.2.0' // from 17.x support androidx only
  • If advertising support should be enabled, also add the following dependencies to your project:

        // for IMA Ads
        implementation 'com.google.android.exoplayer:extension-ima:2.10.8'
        implementation 'com.google.android.gms:play-services-ads:19.0.1' // from 18.x support androidx only

Note:

  • The version of the ExoPlayer Extension IMA must match the version of the ExoPlayer library being used.

  • If you are using both ChromeCast and IMA Ads dependencies, we recommend using dependency com.google.android.gms:play-services-cast-framework:$version with version >= 18.1.0 or version=16.2.0 (support compat) to avoid dependency version conflicts

Turn on Java 8 support

If not enabled already, you need to turn on Java 8 support in all build.gradle files depending on ExoPlayer, by adding the following to the android section:

compileOptions {
  targetCompatibility JavaVersion.VERSION_1_8
}

Node, Inside v1:

Init SDK

  1. Init UZPlayer

    public class App extends MultiDexApplication {
           @Override
           public void onCreate() {
               super.onCreate();
               UZPlayer.init();
           }
    }
  2. If you want show log, install any Tree instances you want in the onCreate of your application class

	if (BuildConfig.DEBUG) {
            Timber.plant(new Timber.DebugTree());
        }

Manifest

    <application
      android:name=".App"
    >

How to play the video?:

XML

    <com.uiza.sdk.view.UZVideoView
      android:id="@id/uiza_video"
      android:layout_width="match_parent"
      android:layout_height="wrap_content" />

JAVA

Create java file MainActivity:

    public class MainActivity extends AppCompatActivity implements UZCallback {
       ...
    }

Manifest

    <activity
      android:name=".MainActivity "
      android:configChanges="keyboard|keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize|uiMode" />

In your activity or fragment

  • Play with entity:

    uzVideo = (UZVideoView) findViewById(R.id.uiza_video);
    uzVideo.setUZCallback(this);
    uzVideo.play(UZPlayback playback);
    // or 
    UZPlayer.setCurrentPlayback(UZPlayback playback);
    uzVideo.play();
    // or playlist
    uzVideo.play(List<UZPlayback> playlist);

Don't forget to add in activity life cycle event:

    @Override
    public void onDestroy() {
        uzVideo.onDestroy();
        super.onDestroy();
    }

    @Override
    public void onResume() {
        uzVideo.onResume();
        super.onResume();
    }

    @Override
    public void onPause() {
        uzVideo.onPause();
        super.onPause();
    }

    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        uzVideo.onActivityResult(resultCode, resultCode, data);
        super.onActivityResult(requestCode, resultCode, data);
    }

How to customize your skin?

Only 3 steps, you can customize everything about player skin.

Please note app:controller_layout_id="@layout/uz_controller_custom_layout"

  • In this xml file, you can edit anything you like: position, color, drawable resouces...

  • You can add more view (TextView, Button, ImageView...).

  • You can remove any component which you dont like.

  • Please note: Don't change any view ids if you are using it.

Step 3: On function onCreate() of Activity, put this code:

    UZPlayer.setUZPlayerSkinLayoutId(R.layout.uzplayer_skin_custom);

Ex:

    @Override
    protected void onCreate(@Nullable Bundle savedState) {
		UZPlayer.setUZPlayerSkinLayoutId(R.layout.uzplayer_skin_custom);
        super.onCreate(savedState);
    }

Note: If you are using Chromecast, please use UZPlayer.setCasty(Activity activity) on function onCreate() of Activity

    @Override
    protected void onCreate(@Nullable Bundle savedState) {
        UZPlayer.setCasty(this);
        UZPlayer.setUZPlayerSkinLayoutId(R.layout.uzplayer_skin_custom);
        super.onCreate(savedState);
    }

Ex: findView from your custom layout:

    TextView tvSample = uzVideo.findViewById(R.id.tv_sample);

That's enough! This code above will change the player's skin quickly. You can build and run your app now.

But if you wanna change the player's skin when the player is playing, please you this function:

    uzVideo.changeSkin(R.layout.uzplayer_skin_custom);

Note:

  • You should not change the id of the view. Ex: android:id="@id/player_view" Do not change android:id="@id/player_view_0" or android:id="@+id/player_view_0" ...

Picture In Picture (PIP)

R8 / ProGuard

Do not support R8

    buildTypes {
    release {
        minifyEnabled true
        shrinkResources true
        useProguard true
        proguardFiles = [
            getDefaultProguardFile('proguard-android.txt'),
            'proguard-rules.pro'
        ]
    }
    }

For contributors

You can setting the rules after import project to Android Studio follow below steps:

  1. File > Settings > Editor > Code Style

  2. Right on the Scheme, select the setting icon > Import Scheme > Intellij IDEA code style XML

  3. Select the uiza_style.xml file path

  4. Click Apply > OK, then ready to go

  1. File > Settings > Other Settings > Checkstyle

  2. In Configuration file, select the + icon

  3. Check Use local checkstyle file & select path to uiza_check.xml file

  4. Select OK & you're ready to go

To run checkstyle for project

  1. Right click on project

  2. Select Analyze > Inspect Code

Reference

Supported devices

Support all devices which have Android 5.0 (API level 21) above. For a given use case, we aim to support UizaSDK on all Android devices that satisfy the minimum version requirement.

Note: Some Android emulators do not properly implement components of Android’s media stack, and as a result do not support UizaSDK. This is an issue with the emulator, not with UizaSDK. Android’s official emulator (“Virtual Devices” in Android Studio) supports UizaSDK provided the system image has an API level of at least 23. System images with earlier API levels do not support UizaSDK. The level of support provided by third party emulators varies. Issues running UizaSDK on third party emulators should be reported to the developer of the emulator rather than to the UizaSDK team. Where possible, we recommend testing media applications on physical devices rather than emulators.

Error message

Support

If you've found an error in this sample, please file an issue

License

UizaSDK is released under the BSD license. See LICENSE for details.

Check .

Use

Use for logger

Step 1: Create layout uzplayer_skin_custom.xml like :

Step 2: Create layout uz_controller_custom_layout.xml like :

You can use UZDragView, review

From Android Nougat (Android SDK >= 24) Google supported PIP. To implement, in AndroidManifest.xml add android:supportsPictureInPicture="true" inside Your Activity and review .

Uiza Checkstyle configuration is based on the Google coding conventions from Google Java Style that can be found at .

Your code must be followed the rules that defined in our

For apply check style, install , then

Check this you can know error code and error message when use UZPlayer.

Patches are encouraged, and may be submitted by forking this project and submitting a pull request through GitHub. Please feel free to contact me anytime: for more details.

Address: 33 Ubi Avenue 3 #08- 13, Vertex Tower B, Singapore 408868 Email: Website:

example here
androidx
Timber
THIS
THIS
PlayerActivity
PIPPlayerActivity
here
uiza_style.xml rules
CheckStyle-IDEA plugin
API Reference
class
developer@uiza.io
developer@uiza.io
uiza.io
https://github.com/uizaio/uiza-android-player-sdk
CHANGELOG here
Play Store