Package im.zego.zegoexpress
Class ZegoMediaDataPublisher
- java.lang.Object
-
- im.zego.zegoexpress.ZegoMediaDataPublisher
-
- Direct Known Subclasses:
ZegoMediaDataInternalImpl
public abstract class ZegoMediaDataPublisher extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description ZegoMediaDataPublisher()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
addMediaFilePath(java.lang.String path, boolean isClear)
Add media file to the publish queue.abstract long
getCurrentDuration()
Get the playing progress of the current file.abstract int
getIndex()
Get the channel index of the media data publisher.abstract long
getTotalDuration()
Get the total duration of the current file.abstract void
reset()
Clear all the status in this media data publisher, so that it can be restarted next time.abstract void
seekTo(long millisecond)
Specify the starting point of the current video file publishing.abstract void
setEventHandler(IZegoMediaDataPublisherEventHandler handler)
Set event callback handler for the media data publisher.abstract void
setVideoSendDelayTime(int delayTime)
Set the delay time of video playback.
-
-
-
Method Detail
-
setEventHandler
public abstract void setEventHandler(IZegoMediaDataPublisherEventHandler handler)
Set event callback handler for the media data publisher. Available since: 2.17.0 Description: Set event callback handler for media data publisher. Use cases: Often used in server-side publishing stream scenarios, such as AI classrooms. When to call: After calling the [createMediaDataPublisher] function to create a media data publisher. Caution: This API used to be named [setMediaDataPublisherEventHandler] before version 3.8.0. Please refer to [Upgrade guide v3.8.0+](https://docs.zegocloud.com/en/16413.html).- Parameters:
handler
- The event handler
-
addMediaFilePath
public abstract void addMediaFilePath(java.lang.String path, boolean isClear)
Add media file to the publish queue. Currently, only mp4 / m4a / aac files are supported, and special conversion is required. Available since: 2.17.0 Description: Add media file to the publish queue. Currently, only mp4 / m4a / aac file are supported, and special conversion is required. Use cases: Often used in server-side publishing stream scenarios, such as AI classrooms. When to call: After calling the [createMediaDataPublisher] function to create a media data publisher. Caution: The mp4 file format must meet the following points:The video must be encoded as H.264 and cannot contain B frames, only I and P frames. The I frame interval is 2s, that is, a single GOP value is 2s; The frame rate, bit rate, and resolution of the video are consistent with the frame rate, bit rate, and resolution set by [setVideoConfig] before publishing stream; Audio encoding must be MPEG-4 AAC.- Parameters:
path
- Local absolute path to the media file.isClear
- Whether to clear the publish queue.
-
reset
public abstract void reset()
Clear all the status in this media data publisher, so that it can be restarted next time. Available since: 2.17.0 Description: When you need to re-publish stream and do not need to continue publishing from the previous publish queue, you can call this function to reset this media data publisher's state. Use cases: Often used in server-side publishing stream scenarios, such as AI classrooms. Caution: When the developer calls [logoutRoom], the state is automatically reset.
-
setVideoSendDelayTime
public abstract void setVideoSendDelayTime(int delayTime)
Set the delay time of video playback. Available since: 2.17.0 Description: When this value is set, when publishing video file stream, the SDK will permanently delay the video to the set time value before sending. Use cases: Mainly used to correct the fixed audio and picture asynchronous phenomenon that occurs during streaming. When to call: After calling the [createMediaDataPublisher] function to create a media data publisher.- Parameters:
delayTime
- Video playback time.Required: Yes.Value range: [0, 100] ms.
-
seekTo
public abstract void seekTo(long millisecond)
Specify the starting point of the current video file publishing. Available since: 2.17.0 Description: Specify the starting point of the current video file publishing. When to call: Called at any point between [OnMediaDataPublisherFileOpen] and [OnMediaDataPublisherFileClose]. For example: this function can be called directly in the [OnMediaDataPublisherFileOpen] callback.- Parameters:
millisecond
- The timestamp of the start of streaming (relative to the timestamp of the file currently being published, the starting value is 0). the unit is milliseconds
-
getTotalDuration
public abstract long getTotalDuration()
Get the total duration of the current file. Available since: 2.17.0 Description: Get the total duration of the current file, in milliseconds. When to call: After [onMediaDataPublisherFileDataBegin] callback.- Returns:
- The total duration of the current file.
-
getCurrentDuration
public abstract long getCurrentDuration()
Get the playing progress of the current file. Available since: 2.17.0 Description: Get the playing progress of the current file, in milliseconds. When to call: After received the [onMediaDataPublisherFileDataBegin] callback.- Returns:
- The playing progress of the current file.
-
getIndex
public abstract int getIndex()
Get the channel index of the media data publisher. Available since: 3.4.0 Description: Get the channel index of the media data publisher.
-
-