How to install GoCoder SDK for Android

Follow these instructions to start building apps with the Wowza GoCoder™ SDK in an Android Studio development environment.

Note: Developing apps with the Wowza GoCoder SDK for Android requires Android 5.0 (API level 21) or later for broadcasting and Android 6.0 (API level 23) or later for playback. Android Studio 1.2.0 or later is also required.

Contents


Download and install the tools
Configure an Android Studio project to use the GoCoder SDK
Practice with the SDK sample app
More resources

Download and install the tools


  1. Download and install the current Android Studio.

Note: Running and debugging GoCoder SDK apps using a device emulator isn't recommended due to the wide variance in functionality between the software-based audio and video codecs used by the emulator and the hardware-based codecs installed on most devices.

  1. Download the current release of Wowza GoCoder SDK for Android.
  2. Expand the downloaded .zip file, which contains the following files and folders:
com.wowza.gocoder.sdk.aar

The Android archive file that contains the GoCoder SDK library.

/docs

The SDK API reference documentation in HTML format. Open index.html in this folder to view the documentation locally.

/ModuleGoCoderSDKSample

Sample code that demonstrates integration between Wowza Streaming Engine™ media server software and the SDK.

Release_Notes.md

A markdown file that contains these release notes.

/sample-app

A sample application that can be imported into Android Studio that demonstrates many of the SDK's capabilities.

Configure an Android Studio project to use the Wowza GoCoder SDK


To develop Android apps with the GoCoder SDK, you must configure an Android Studio project to recognize the GoCoder SDK library and add the appropriate permissions to the app's manifest file.

  1. In Android Studio, create a project. See Create an app project.
  2. In the file system, copy com.wowza.gocoder.sdk.aar from the expanded .zip file to the project's libs folder. By default, the libs folder is located at [project_root]/app/libs.
  3. In Android Studio, open build.gradle (Module:app), which you can find in the Gradle Scripts section of the tool window.
  4. In the editor window, add a dependency for the SDK library by copying the following code into the file as described:
// This enables Gradle to locate Android library dependencies in the same manner as jar-based dependencies. Add to the bottom of the file.

repositories {
    flatDir {
        dirs 'libs'
    }
}

// Copy these two compile dependencies into the existing dependencies section of the file.

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // The GoCoder SDK library dependency declaration

    compile 'com.wowza.gocoder.sdk.android:com.wowza.gocoder.sdk:1.5b7@aar'

    // List additional dependencies here...

}
  1. In the tool window, navigate to app/manifests and open the AndroidManifest.xml file.
  2. Add the following permissions below the package declaration, above the application element:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

Practice with the SDK sample app


  1. In the file system, move the sample-app folder from the expanded .zip file to the folder that contains your Android Studio projects (by default, [username]/AndroidStudioProjects).
  2. In Android Studio, open the sample-app project.

You can build, deploy, and run the sample app in debug mode. The sample app includes the following activities:

Activity Description
AudioMeterActivity.java Use the WOWZAudioDevice.AudioSampleListener interface to display an audio level meter.
BitmapOverlayActivity.java Use the WOWZBitmap class to overlay a bitmap on the video stream.
BluetoothActivity.java Use the SDK to capture and stream audio from a Bluetooth device.
CameraActivity.java Use the SDK to capture and broadcast video using the device's internal cameras.
EventActivity.java Send data events to a Wowza Streaming Engine server and receive events back while streaming.
FaceActivity.java Use the SDK with a device's face-detection capabilities to superimpose an image on the viewer's face.
MainActivity.java Perform all of the sample activities.
MP4BroadcastActivity.java Use WOWZBroadcast, WOWZBroadcastAPI, and related classes and interfaces to broadcast frames from a local MP4 file.
MP4CaptureActivity.java Use the WOWZMP4Writer class to save a video stream to an MP4 file stored on the local device.
OpenGLActivity.java Use OpenGL to render objects onscreen.
PlayerActivity.java Use the WOWZPlayerConfig, WOWZPlayerView, and other classes to create an app that can play a live stream, including an ultra low latency live stream from the Wowza Streaming Cloud™ service.
ScreenshotActivity.java Use the WOWZRenderAPI.VideoFrameListener interface to capture a frame from the camera preview display and save it as a bitmap.
TextOverlayActivity.java Use the WOWZText and WOWZTextManager classes to overlay text on the video stream.

More resources



If you're having problems or want to discuss this article, post in our forum.