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;
 
   21    private static final String 
TAG = 
"ZoomSDKAudioRawDataHelper";
 
   28    SDKConfUIEventHandler.ISDKConfUIListener 
simpleConfUIListener = 
new SDKConfUIEventHandler.SimpleSDKConfUIListener() {
 
   30        public boolean onConfStatusChanged2(
int cmd, 
long ret) {
 
   31            if (cmd == CONF_CMD.CMD_CONF_LEAVE_COMPLETE) {
 
   33            } 
else if (cmd == CONF_CMD.CMD_CONF_SILENTMODE_CHANGED) {
 
   34                if (SDKMeetingInterfaceHelper.isInSlientMode()) {
 
 
   48    RTCVideoRawDataDelegate.SimpleRTCVideoRawDataListener 
audioRawdataListener = 
new RTCVideoRawDataDelegate.SimpleRTCVideoRawDataListener() {
 
   50        public void onUninitialize() {
 
   56        public void onDeviceInitialize(
long nativeHandle) {
 
   63        public void onStartSendData() {
 
   69        public void onStopSendData() {
 
   75        public void onDeviceUninitialize() {
 
 
   82    RTCConferenceEventUI.SimpleRTCConferenceEventUIListener 
eventUIListener = 
new RTCConferenceEventUI.SimpleRTCConferenceEventUIListener() {
 
   85        public void onMixedAudioRawDataReceived(ByteBuffer buffer, 
int bufferLen, 
int sampleRate,
int channel,
long timeStamp, 
long nativeHandle) {
 
   89                if (
null != dataDelegate) {
 
   93                    if (BuildConfig.LOG_ENABLE) {
 
   94                        ZMLog.d(
TAG, 
"onMixedAudioRawDataReceived dataDelegate is null");
 
  101        public void onOneWayAudioRawDataReceivedImpl(ByteBuffer buffer, 
int bufferLen, 
int sampleRate, 
int channel, 
int userId,
long timeStamp, 
long nativeHandle) {
 
  104                if (
null != dataDelegate) {
 
  108                    if (BuildConfig.LOG_ENABLE) {
 
  109                        ZMLog.d(
TAG, 
"onOneWayAudioRawDataReceivedImpl dataDelegate is null");
 
  116        public void onShareAudioRawDataReceived(ByteBuffer buffer, 
int bufferLen, 
int sampleRate, 
int channel,
long timeStamp, 
long userId, 
long nativeHandle) {
 
  119                if (
null != dataDelegate) {
 
  123                    if (BuildConfig.LOG_ENABLE) {
 
  124                        ZMLog.d(
TAG, 
"onShareAudioRawDataReceived dataDelegate is null");
 
 
  138        if (SDKMeetingInterfaceHelper.isInSlientMode()) {
 
  142        if (
null == RTCConference.getInstance()) {
 
  147        int ret = RTCConference.getInstance().getAudioRawDataHelper().start();
 
  149        ZoomMeetingSDKBridgeHelper.getInstance().trackingMSDKInteractEvent(
TAG, 
"subscribe", error.ordinal());
 
 
  155        if (
null == RTCConference.getInstance()) {
 
  160        int ret = RTCConference.getInstance().getAudioRawDataHelper().stop();
 
  162        ZoomMeetingSDKBridgeHelper.getInstance().trackingMSDKInteractEvent(
TAG, 
"unSubscribe", error.ordinal());
 
 
  168        if (
null == RTCConference.getInstance()) {
 
  172        if (SDKMeetingInterfaceHelper.isInSlientMode()) {
 
  175        if (this.virtualAudioMic == audioMic) {
 
  178        this.virtualAudioMic = audioMic;
 
  181        if (
null == audioMic) {
 
  182            result = RTCConference.getInstance().getAudioRawDataHelper().setVirtualAudioMic(0);
 
  186            result = RTCConference.getInstance().getAudioRawDataHelper().setVirtualAudioMic(
rtcAudioRawDataDelegate.getRecevHandle());
 
  189            this.virtualAudioMic = 
null;
 
  192        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.
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
void onMicStartSend()
Callback for virtual audio mic can send raw data with 'sender'.
void onMicInitialize(IZoomSDKAudioRawDataSender sender)
Callback for virtual audio mic to do some initialization.
void onMicStopSend()
Callback for virtual audio mic should stop send raw data.
void onMicUninitialized()
Callback for virtual audio mic is uninitialized.