To broadcast a live stream video, we have provided a convenient broadcaster tool called EkoStreamBroadcaster
. You will need to import EkoLiveVideoBroadcastKit.framework
into your app.
EkoStreamBroadcaster
requires the following permissions to work properly.
Camera access
Microphone access
Before using EkoStreamBroadcaster
, please make sure these permissions are already granted.
Here are the steps to ask for the permissions.
Add NSCameraUsageDescription
to your app's info.plist
.
Add NSMicrophoneUsageDescription
to your app's info.plist
.
Call AVCaptureDevice.requestAccess(for: .video, completion: ...)
Call AVAudioSession.sharedInstance().requestRecordPermission(_:)
You can create broadcaster instance by providing EkoClient
.
Before going live, you will need to setup the broadcaster session by creating EkoStreamBroadcasterConfiguration
. This configuration will be applied for the next live session.
The broadcaster object provides "preview view". After finish setting up the broadcaster, you then can take the preview view to attach into your screen.
You can setup video resolution anytime "before" going live. This setting will affects both the rendering of preview view, and the resolution of live stream session.
To begin broadcasting the live stream, call
To stop broadcasting the live stream, call
By default, the broadcaster will use the back camera. However you can switch camera position anytime by calling
To observe a broadcaster state, we provide a delegate object that you can set to listen broadcaster's events..
EkoStreamBroadcasterState
represent all the possible states.
.idle
indicates a state of stream in an idle state.
.connecting
indicates a state of stream that it's connecting to the stream server.
.connected
indicates a state of stream that it's connected to the stream server.
.disconnected
indicates a status of stream that it's disconnected.
The code below show an example of printing out the state of broadcaster, when it changes.