public class Publisher extends PublisherKit
When the view of a Publisher leaves the active window, the Publisher object is destroyed. This is the case for an activity that is stopped or paused.
Session.publish(PublisherKit publisher)
Modifier and Type | Class and Description |
---|---|
static class |
Publisher.Builder
Used to build a
Publisher object. |
static class |
Publisher.CameraCaptureFrameRate
Defines values for the
frameRate parameter of the
Publisher.Builder.frameRate(Publisher.CameraCaptureFrameRate frameRate) method. |
static class |
Publisher.CameraCaptureResolution
Defines values for the
resolution parameter of the
Publisher.Builder.resolution(Publisher.CameraCaptureResolution resolution) method. |
static interface |
Publisher.CameraListener
Monitors when the camera used by the publisher changes.
|
PublisherKit.AudioLevelListener, PublisherKit.AudioStatsListener, PublisherKit.MuteListener, PublisherKit.PublisherAudioStats, PublisherKit.PublisherKitVideoType, PublisherKit.PublisherListener, PublisherKit.PublisherRtcStats, PublisherKit.PublisherRtcStatsReportListener, PublisherKit.PublisherVideoStats, PublisherKit.VideoStatsListener
Modifier and Type | Field and Description |
---|---|
protected Publisher.CameraCaptureFrameRate |
cameraFrameRate |
protected Publisher.CameraListener |
cameraListener |
protected Publisher.CameraCaptureResolution |
cameraResolution |
audioLevelListener, audioStatsListener, capturer, context, handler, muteListener, publisherListener, renderer, rtcStatsReportListener, videoStatsListener
Modifier | Constructor and Description |
---|---|
|
Publisher(android.content.Context context)
Deprecated.
|
|
Publisher(android.content.Context context,
java.lang.String name)
Deprecated.
|
|
Publisher(android.content.Context context,
java.lang.String name,
BaseVideoCapturer capturer)
Deprecated.
|
|
Publisher(android.content.Context context,
java.lang.String name,
boolean audioTrack,
boolean videoTrack)
Deprecated.
|
protected |
Publisher(android.content.Context context,
java.lang.String name,
boolean audioTrack,
boolean videoTrack,
BaseVideoCapturer capturer,
Publisher.CameraCaptureResolution resolution,
Publisher.CameraCaptureFrameRate frameRate,
BaseVideoRenderer renderer)
Deprecated.
|
protected |
Publisher(android.content.Context context,
java.lang.String name,
boolean audioTrack,
int maxAudioBitrate,
boolean videoTrack,
BaseVideoCapturer capturer,
Publisher.CameraCaptureResolution resolution,
Publisher.CameraCaptureFrameRate frameRate,
BaseVideoRenderer renderer)
Creates a new Publisher object.
|
|
Publisher(android.content.Context context,
java.lang.String name,
Publisher.CameraCaptureResolution resolution,
Publisher.CameraCaptureFrameRate frameRate)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
cycleCamera()
Cycles between cameras, if there are multiple cameras on the device.
|
int |
getCameraId()
Deprecated.
|
protected void |
onCameraChanged(int newCameraId)
Invoked when the publisher changes the active camera.
|
protected void |
onCameraError(OpentokError error)
Invoked when there is an error accessing the camera.
|
void |
setCameraId(int cameraId)
Deprecated.
|
void |
setCameraListener(Publisher.CameraListener listener)
Sets a
Publisher.CameraListener object to monitor when the camera used by
the publisher changes. |
void |
startPreview()
Deprecated.
|
void |
swapCamera()
Deprecated.
|
destroy, finalize, getAudioFallbackEnabled, getCapturer, getName, getPublishAudio, getPublisherVideoType, getPublishVideo, getRenderer, getRtcStatsReport, getSession, getStream, getView, onAudioLevelUpdated, onError, onMuteForced, onPause, onRestart, onResume, onRtcStatsReport, onStop, onStreamCreated, onStreamDestroyed, setAudioFallbackEnabled, setAudioLevelListener, setAudioStatsListener, setCapturer, setMuteListener, setName, setPublishAudio, setPublisherListener, setPublisherVideoType, setPublishVideo, setRenderer, setRtcStatsReportListener, setStyle, setVideoStatsListener, update
protected Publisher.CameraCaptureFrameRate cameraFrameRate
protected Publisher.CameraCaptureResolution cameraResolution
protected Publisher.CameraListener cameraListener
@Deprecated public Publisher(android.content.Context context)
Session.publish(PublisherKit publisher)
method to start streaming
from this Publisher into a session.
The PublisherKit.getView()
method returns the android.view.View object
containing the published video.
context
- The android.content.Context for the Publisher.@Deprecated public Publisher(android.content.Context context, java.lang.String name)
Publisher.Builder
class to instantiate a Publisher object.
Use the Session.publish(PublisherKit publisher)
method to start streaming
from this Publisher into a session.
This version of the constructor lets you add a name for the publisher's stream.
The PublisherKit.getView()
method returns the android.view.View object
containing the published video.
context
- The android.content.Context for the Publisher.name
- The name of the publisher video. The name
property for
a stream published by this publisher will be set to this value
(on all clients).@Deprecated public Publisher(android.content.Context context, java.lang.String name, BaseVideoCapturer capturer)
Publisher.Builder
class to instantiate a PublisherKit object.
Use the Session.publish(PublisherKit publisher)
method to start streaming
from this Publisher into a session.
This version of the constructor lets you define a custom video capturer for the Publisher.
The PublisherKit.getView()
method returns the android.view.View object
containing the published video.
context
- The android.content.Context for the Publisher.name
- The name of the publisher video. The Stream.getName()
method for
a stream published by this publisher will return this value
(on all clients).capturer
- The video capturer to use for the Publisher.@Deprecated public Publisher(android.content.Context context, java.lang.String name, boolean audioTrack, boolean videoTrack)
Publisher.Builder
class to instantiate a PublisherKit object.
Use the Session.publish(PublisherKit publisher)
method to start streaming
from this Publisher into a session.
This version of the constructor adds parameters that let you exclude the audio track or video track from the published stream. Creating a Publisher without an audio track or video track can save CPU resources.
The PublisherKit.getView()
method returns the android.view.View object
containing the published video.
context
- The android.content.Context for the Publisher.name
- The name of the publisher video. The Stream.getName()
method for
a stream published by this publisher will return this value
(on all clients).audioTrack
- Whether to include an audio track in the published stream.videoTrack
- Whether to include a video track in the published stream.@Deprecated public Publisher(android.content.Context context, java.lang.String name, Publisher.CameraCaptureResolution resolution, Publisher.CameraCaptureFrameRate frameRate)
Publisher.Builder
class to instantiate a PublisherKit object.
Use the Session.publish(PublisherKit publisher)
method to start streaming
from this Publisher into a session.
This version of the constructor adds parameters for setting the resolution and frame rate of the video.
For sessions that use the OpenTok Media Router (sessions with the media mode set to routed), lowering the frame rate or lowering the resolution reduces the maximum bandwidth the stream can use. However, in sessions with the media mode set to relayed, lowering the frame rate or resolution may not reduce the stream's bandwidth.
The PublisherKit.getView()
method returns the android.view.View object
containing the published video.
Note: The default frame rate and resolution for a Publisher constructed using other
versions of the Publisher constructor are set to
Publisher.CameraCaptureFrameRate.FPS_30
and
Publisher.CameraCaptureResolution.MEDIUM
. However, these can vary over time for
the stream.
context
- The android.content.Context for the Publisher.name
- The name of the publisher video. The Stream.getName()
method for
a stream published by this publisher will return this value
(on all clients).resolution
- The resolution of the video. Set this to a value defined in the
Publisher.CameraCaptureResolution
enum.frameRate
- The frame rate of the video. Set this to a value defined in the
Publisher.CameraCaptureFrameRate
enum. If the device does not support the
specified frame rate, it will use the closest supported frame rate that is
lower. Note that in sessions that use the OpenTok Media Router (sessions
with the media mode set to routed), lowering the frame rate proportionally
reduces the bandwidth the stream uses. However, in sessions that have the
media mode set to relayed, lowering the frame rate does not reduce
the stream's bandwidth. (See The
OpenTok Media Router and media modes.)@Deprecated protected Publisher(android.content.Context context, java.lang.String name, boolean audioTrack, boolean videoTrack, BaseVideoCapturer capturer, Publisher.CameraCaptureResolution resolution, Publisher.CameraCaptureFrameRate frameRate, BaseVideoRenderer renderer)
Publisher
instance based on the Publisher.Builder
settings.protected Publisher(android.content.Context context, java.lang.String name, boolean audioTrack, int maxAudioBitrate, boolean videoTrack, BaseVideoCapturer capturer, Publisher.CameraCaptureResolution resolution, Publisher.CameraCaptureFrameRate frameRate, BaseVideoRenderer renderer)
Publisher
class,
you can call this constructor from the child class.context
- The
android.content.Context for the Publisher.name
- The name of the publisher video. The Stream.getName()
method for a
published by this publisher will return this value (on all clients).audioTrack
- Whether to include an audio track in the published stream.maxAudioBitrate
- The desired bitrate of the audio, in bits per second.videoTrack
- Whether to include a video track in the published stream.capturer
- The video capturer for the publisher.renderer
- The video renderer for the publisher.public void setCameraListener(Publisher.CameraListener listener)
Publisher.CameraListener
object to monitor when the camera used by
the publisher changes.listener
- The Publisher.CameraListener
instance.@Deprecated public void setCameraId(int cameraId)
cameraId
can be a value between 0
and android.hardware.Camera#getNumberOfCameras() - 1.
When the camera used by the Publisher changes, the
Publisher.CameraListener.onCameraChanged(Publisher publisher, int newCameraId)
method is called.
cycleCamera()
method to cycle
between cameras, if there are multiple cameras on the device.cameraId
- the id of the camera you want to use on this publisherpublic void cycleCamera()
Publisher.CameraListener.onCameraChanged(Publisher publisher, int newCameraId)
method is called.@Deprecated public void swapCamera()
cycleCamera()
method to cycle
between cameras, if there are multiple cameras on the device.
If you are using a custom video capturer, implement the
BaseVideoCapturer.CaptureSwitch
interface in the object that extends
BaseVideoCapturer, and implement the
BaseVideoCapturer.CaptureSwitch.swapCamera(int cameraId)
method to define the behavior
of the Publisher.swapCamera()
method.
@Deprecated public int getCameraId()
setCameraId(int)
is never called, the return value is 1 (for the
front-facing camera).
This method is deprecated. You should use the new cycleCamera()
method to cycle
between cameras, if there are multiple cameras on the device.
protected void onCameraChanged(int newCameraId)
If you extend the Publisher class, you can override this method instead of the
onCameraChanged()
method of the Publisher.CameraListener
interface.
newCameraId
- The ID of the new active camera.protected void onCameraError(OpentokError error)
error
- The error.@Deprecated public void startPreview()