3import com.zipow.videobox.confapp.enums.CONF_CMD;
5import java.lang.ref.WeakReference;
6import java.nio.ByteBuffer;
8import us.zoom.common.crossplatform.cmmlib.BuildConfig;
9import us.zoom.core.helper.ZMLog;
10import us.zoom.internal.ErrorCodeMapping;
11import us.zoom.internal.RTCConference;
12import us.zoom.internal.event.RTCConferenceEventUI;
13import us.zoom.internal.event.RTCVideoRawDataDelegate;
14import us.zoom.internal.event.SDKConfUIEventHandler;
15import us.zoom.internal.helper.SDKMeetingInterfaceHelper;
16import us.zoom.internal.impl.ZoomSDKAudioRawDataSender;
17import us.zoom.internal.jni.helper.ZoomMeetingSDKBridgeHelper;
24 private static final String
TAG =
"ZoomSDKAudioRawDataHelper";
31 SDKConfUIEventHandler.ISDKConfUIListener
simpleConfUIListener =
new SDKConfUIEventHandler.SimpleSDKConfUIListener() {
33 public boolean onConfStatusChanged2(
int cmd,
long ret) {
34 if (cmd == CONF_CMD.CMD_CONF_LEAVE_COMPLETE) {
36 }
else if (cmd == CONF_CMD.CMD_CONF_SILENTMODE_CHANGED) {
37 if (SDKMeetingInterfaceHelper.isInSlientMode()) {
51 RTCVideoRawDataDelegate.SimpleRTCVideoRawDataListener
audioRawdataListener =
new RTCVideoRawDataDelegate.SimpleRTCVideoRawDataListener() {
53 public void onUninitialize() {
59 public void onDeviceInitialize(
long nativeHandle) {
66 public void onStartSendData() {
72 public void onStopSendData() {
78 public void onDeviceUninitialize() {
85 RTCConferenceEventUI.SimpleRTCConferenceEventUIListener
eventUIListener =
new RTCConferenceEventUI.SimpleRTCConferenceEventUIListener() {
88 public void onMixedAudioRawDataReceived(ByteBuffer buffer,
int bufferLen,
int sampleRate,
int channel,
long timeStamp,
long nativeHandle) {
92 if (
null != dataDelegate) {
96 if (BuildConfig.LOG_ENABLE) {
97 ZMLog.d(
TAG,
"onMixedAudioRawDataReceived dataDelegate is null");
104 public void onOneWayAudioRawDataReceivedImpl(ByteBuffer buffer,
int bufferLen,
int sampleRate,
int channel,
int userId,
long timeStamp,
long nativeHandle) {
107 if (
null != dataDelegate) {
111 if (BuildConfig.LOG_ENABLE) {
112 ZMLog.d(
TAG,
"onOneWayAudioRawDataReceivedImpl dataDelegate is null");
119 public void onShareAudioRawDataReceived(ByteBuffer buffer,
int bufferLen,
int sampleRate,
int channel,
long timeStamp,
long userId,
long nativeHandle) {
122 if (
null != dataDelegate) {
126 if (BuildConfig.LOG_ENABLE) {
127 ZMLog.d(
TAG,
"onShareAudioRawDataReceived dataDelegate is null");
141 if (SDKMeetingInterfaceHelper.isInSlientMode()) {
145 if (
null == RTCConference.getInstance()) {
150 int ret = RTCConference.getInstance().getAudioRawDataHelper().start();
152 ZoomMeetingSDKBridgeHelper.getInstance().trackingMSDKInteractEvent(
TAG,
"subscribe", error.ordinal());
158 if (
null == RTCConference.getInstance()) {
163 int ret = RTCConference.getInstance().getAudioRawDataHelper().stop();
165 ZoomMeetingSDKBridgeHelper.getInstance().trackingMSDKInteractEvent(
TAG,
"unSubscribe", error.ordinal());
171 if (
null == RTCConference.getInstance()) {
175 if (SDKMeetingInterfaceHelper.isInSlientMode()) {
178 if (this.virtualAudioMic == audioMic) {
181 this.virtualAudioMic = audioMic;
184 if (
null == audioMic) {
185 result = RTCConference.getInstance().getAudioRawDataHelper().setVirtualAudioMic(0);
189 result = RTCConference.getInstance().getAudioRawDataHelper().setVirtualAudioMic(
rtcAudioRawDataDelegate.getRecevHandle());
192 this.virtualAudioMic =
null;
195 ZoomMeetingSDKBridgeHelper.getInstance().trackingMSDKInteractEvent(
TAG,
"setExternalAudioSource", error.ordinal());
RTCConferenceEventUI.SimpleRTCConferenceEventUIListener eventUIListener
MobileRTCRawDataError unSubscribe()
unsubscribe audio raw data
ZoomSDKAudioRawDataHelper()
WeakReference< IZoomSDKAudioRawDataDelegate > weakReference
SDKConfUIEventHandler.ISDKConfUIListener simpleConfUIListener
IZoomSDKVirtualAudioMicEvent virtualAudioMic
RTCVideoRawDataDelegate.SimpleRTCVideoRawDataListener audioRawdataListener
MobileRTCRawDataError subscribe(IZoomSDKAudioRawDataDelegate delegate)
subscribe audio raw data.
MobileRTCRawDataError setExternalAudioSource(IZoomSDKVirtualAudioMicEvent audioMic)
Set external audio source.
RTCVideoRawDataDelegate rtcAudioRawDataDelegate
Zoom SDK audio raw data bean.
Enumeration of raw data errors.
MobileRTCRawData_WrongUsage
MobileRTCRawData_Uninitialized
MobileRTCRawData_Invalid_Param
Zoom SDK Audio raw data callback.
void onShareAudioRawDataReceived(ZoomSDKAudioRawData rawData, long userId)
share audio raw data received callback
void onOneWayAudioRawDataReceived(ZoomSDKAudioRawData rawData, int userId)
User audio raw data received callback.
void onMixedAudioRawDataReceived(ZoomSDKAudioRawData rawData)
mixed audio raw data received callback
Interface for sending audio raw data.