package com.netease.nrtc.engine.rawapi; import android.content.Context; import android.opengl.EGLContext; import com.netease.nrtc.b.a; import com.netease.nrtc.engine.impl.e; import com.netease.nrtc.sdk.audio.IPlayAudioCallBack; import com.netease.nrtc.sdk.audio.IRemoteAudioCallBack; import com.netease.nrtc.sdk.video.IVideoCapturer; import com.netease.nrtc.video.render.IVideoRender; import com.netease.yunxin.base.utils.SystemPermissionUtils; import com.netease.yunxin.base.utils.jni.LibraryUtils; import java.util.List; public abstract class IRtcEngine { static { LibraryUtils.loadLibrary("yxbase"); } public static String buildBranch() { return "HEAD"; } public static String buildDate() { return "星期四 六月 11 11:27:35 2020"; } public static String buildHost() { return "vcloudqa@HIH-D-9111a"; } public static String buildRevision() { return "3a01c01"; } public static String buildType() { return "release"; } public static List<String> checkPermission(Context context) { return SystemPermissionUtils.checkPermission(context); } public static IRtcEngine create(Context context, String str, String str2, boolean z, int i, RtcServerAddresses rtcServerAddresses, IRtcEventHandler iRtcEventHandler) throws Exception { return new e(context, str, str2, z, i, rtcServerAddresses, iRtcEventHandler); } public static void initCompat(Context context) { a.a(context, "https://lbs.netease.im/cc/nrtc/v2"); } public static String serverEnv() { return "rel"; } public static int versionCode() { return 3202; } public static String versionName() { return "5.0.1"; } public abstract int disableVideo(); public abstract int dispose() throws IllegalStateException; public abstract int enableVideo(); public abstract int getConnectStatus(); public abstract RtcParameters getParameters(RtcParameters rtcParameters); public abstract int getRole(); public abstract boolean isAutoPublishVideo(); public abstract boolean isAutoSubscribeAudio(); public abstract boolean isAutoSubscribeVideo(); public abstract boolean isMicrophoneMute(); public abstract boolean isSpeakerphoneOn(); public abstract int joinChannel(RtcConfig rtcConfig, long j) throws IllegalArgumentException; public abstract int leaveChannel(); public abstract boolean localAudioStreamMuted(); public abstract boolean localVideoStreamMuted(); public abstract int muteLocalAudioStream(boolean z); public abstract int muteLocalVideoStream(boolean z); public abstract int muteRemoteAudioStream(long j, boolean z); public abstract int muteRemoteVideoStream(long j, boolean z); public abstract int pauseAudioMixing(); public abstract int playAudioEffect(int i, int i2, boolean z, float f2); public abstract void preloadAudioEffect(int i, String str); public abstract int publishVideo(); public abstract int pushExternalAudioData(byte[] bArr, int i, int i2, int i3, int i4, boolean z) throws NullPointerException, IllegalArgumentException; public abstract int pushExternalAudioMixingStream(byte[] bArr, int i, int i2, int i3); public abstract void rate(int i, String str); public abstract boolean registerPlayAudioCallBack(IPlayAudioCallBack iPlayAudioCallBack); public abstract boolean registerRemoteAudioCallBack(long j, IRemoteAudioCallBack iRemoteAudioCallBack); public abstract boolean remoteAudioStreamMuted(long j); public abstract boolean remoteVideoStreamMuted(long j); public abstract int resumeAudioMixing(); public abstract int seekAudioMixing(long j); public abstract void selectAudioDevice(int i); public abstract void setAsMainArea(long j, IRtcRoomServerHandler iRtcRoomServerHandler); public abstract int setAudioMixingPlaybackVolume(float f2); public abstract int setAudioMixingSendVolume(float f2); public abstract int setAutoPublish(boolean z, boolean z2); public abstract int setChannelProfile(int i); public abstract int setExternalAudioMixingStream(boolean z, boolean z2, boolean z3); public abstract int setExternalAudioSource(boolean z); public abstract int setLocalVideoSimulcastModel(int i); public abstract int setMicrophoneMute(boolean z); public abstract void setNewLoginConfig(RtcConfig rtcConfig); public abstract void setParameters(RtcParameters rtcParameters) throws IllegalArgumentException; public abstract int setPlayCapturedAudioVolume(float f2); public abstract int setPublishFallbackOption(int i); public abstract int setRole(int i); public abstract int setSpeakerphoneOn(boolean z); public abstract int setVideoQualityStrategy(int i); public abstract int setupLocalVideoRenderer(IVideoRender iVideoRender, int i, boolean z); public abstract int setupRemoteVideoRenderer(IVideoRender iVideoRender, long j, int i, boolean z); public abstract int setupVideoCapturer(IVideoCapturer iVideoCapturer); public abstract int startAVRecording(long j); public abstract int startAudioMixing(String str, boolean z, boolean z2, int i, float f2); public abstract int startAudioRecording(); public abstract int startAudioRecording(int i); public abstract int startPlayCapturedAudio(); public abstract int startVideoPreview(); public abstract int stopAVRecording(long j); public abstract int stopAudioMixing(); public abstract int stopAudioRecording(); public abstract int stopPlayAudioEffect(int i); public abstract int stopPlayCapturedAudio(); public abstract int stopVideoPreview(); public abstract int subscribeActiveAudio(); public abstract int subscribeVideo(long j, int i); public abstract int takeSnapshot(long j); public abstract int unpublishVideo(); public abstract int unsubscribeActiveAudio(); public abstract int unsubscribeVideo(long j); public abstract int updateSharedEGLContext(EGLContext eGLContext); public abstract int updateSharedEGLContext(javax.microedition.khronos.egl.EGLContext eGLContext); }