AnyChat技术支持论坛

标题: anychat 视频会议卡顿问题 [打印本页]

作者: Luyh    时间: 2016-11-30 17:22
标题: anychat 视频会议卡顿问题

1.使用anychat进行视频会议的时候很卡(三四个人或者五六个),而且有的时候网络正常还经常回调用
     @Override
    public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
        Toast.makeText(MultiVideoChatActivty.this,"网络断开连接",1).show();
    }

这个方法。


作者: 佰锐科技-梁国桦    时间: 2016-11-30 18:47
您好,请求的视频数增加的话,所占的带宽也会增加不少,可能会更容易引起掉线
作者: Luyh    时间: 2016-12-1 09:18
要是这样的话,就不能增加视频人说楼?
作者: Luyh    时间: 2016-12-1 09:19
这是我多人视频的代码,麻烦帮我看下是不是哪里有什么问题。谢谢

package com.bairuitech.callcenter;

import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.content.res.Configuration;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.*;
import android.widget.*;
import com.bairuitech.anychat.*;
import com.bairuitech.util.ConfigEntity;
import com.bairuitech.util.ConfigService;
import com.yunmai.entcc.R;
import com.yunmai.imdemo.controller.webrtc.RingtoneController;
import com.yunmai.imdemo.controller.webrtc.VideoChatController;

import java.io.UnsupportedEncodingException;
import java.util.*;

/**
* Created by kenny on 2016/03/21.
*/
public class MultiVideoChatActivty extends Activity implements AnyChatBaseEvent,AnyChatObjectEvent, AnyChatVideoCallEvent,AnyChatTransDataEvent {

    public ConfigEntity configEntity;                                        //参数配置类
    public ProgressDialog waitingpd;                                        //进度提示

    private ImageView mImgBtnReturn;                                   // 标题返回
    private TextView mTitleName;                                                  // 标题名字
    private ImageButton mImgSwichVideo;                  //切换摄像头
    private SurfaceView mSurfaceMeeting1;
    private SurfaceView mSurfaceMeeting2;
    private SurfaceView mSurfaceMeeting3;
    private SurfaceView mSurfaceMeeting4;
    private SurfaceView mSurfaceMeeting5;
    private SurfaceView mSurfaceMeeting6;

    private TextView mTvMeeting1;
    private TextView mTvMeeting2;
    private TextView mTvMeeting3;
    private TextView mTvMeeting4;
    private TextView mTvMeeting5;
    private TextView mTvMeeting6;

    private Button mBtnSpeak;
    private Button mBtnCamera;
    private Handler mHandler;
    public static final int MSG_CHECKAV = 1;
    public static final int MSG_TIMEUPDATE = 2;
    public static final int PROGRESSBAR_HEIGHT = 5;
        protected static final String tag = "MeetingRoomActivity";
    boolean bSelfVideoOpened = false;
    boolean bOtherVideoOpened1 = false;
    boolean bOtherVideoOpened2 = false;
    boolean bOtherVideoOpened3 = false;
    boolean bOtherVideoOpened4 = false;
    boolean bOtherVideoOpened5 = false;
    int videoIndex1 = 0;
    int videoIndex2 = 0;
    int videoIndex3 = 0;
    int videoIndex4 = 0;
    int videoIndex5 = 0;
    int[] dwTargetUserId = {0,0,0,0,0};

    // 功能菜单图标
    private int[] arrFuncIcons = { R.drawable.stronghold_01, R.drawable.stronghold_02, R.drawable.stronghold_03, R.drawable.stronghold_04};

    private AnyChatCoreSDK anychat;                                                         //sdk对象
    private List<Integer> mobject =new ArrayList<Integer>(); //装载营业厅ID
    private ArrayList<HashMap<String, Object>> mArrItem;         //装载适配器数据

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //自定义标题栏
        RingtoneController.stopRingTone();
        requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
        setContentView(R.layout.activity_meeting_room);
        getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.meet_room_title_bar);

        //视频参数配置
        ApplyVideoConfig();
        //初始化sdk
        InitSDK();
        //初始化布局
        InitLayout();

        //实时音视频
        updateAV();
    }

    private void InitSDK() {
        //初始化sdk
        if (anychat == null) {
            anychat = AnyChatCoreSDK.getInstance(this);
        }
        anychat.mSensorHelper.InitSensor(this);
        AnyChatCoreSDK.mCameraHelper.SetContext(this);

        anychat.SetBaseEvent(this);//基本登陆事件接口
        anychat.SetObjectEvent(this);//排队事件接口;
        anychat.SetTransDataEvent(this);
    }

    boolean isOpenCamera = false;
    private void InitLayout() {
        waitingpd = new ProgressDialog(MultiVideoChatActivty.this);
        mSurfaceMeeting1 = (SurfaceView) this.findViewById(R.id.surface_meeting1);
        mSurfaceMeeting2 = (SurfaceView) this.findViewById(R.id.surface_meeting2);
        mSurfaceMeeting3 = (SurfaceView) this.findViewById(R.id.surface_meeting3);
        mSurfaceMeeting4 = (SurfaceView) this.findViewById(R.id.surface_meeting4);
        mSurfaceMeeting5 = (SurfaceView) this.findViewById(R.id.surface_meeting5);
        mSurfaceMeeting6 = (SurfaceView) this.findViewById(R.id.surface_meeting6);

        mTvMeeting1 = (TextView) this.findViewById(R.id.tv_meeting1);
        mTvMeeting2 = (TextView) this.findViewById(R.id.tv_meeting2);
        mTvMeeting3 = (TextView) this.findViewById(R.id.tv_meeting3);
        mTvMeeting4 = (TextView) this.findViewById(R.id.tv_meeting4);
        mTvMeeting5 = (TextView) this.findViewById(R.id.tv_meeting5);
        mTvMeeting6 = (TextView) this.findViewById(R.id.tv_meeting6);

        mBtnSpeak = (Button) this.findViewById(R.id.btn_speak);
//        mBtnSpeak.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                if(isSpeaking == false) {
//                    isSpeaking = true;
//                    String mRequestMic = getIntent().getIntExtra("userid", -1)+"|1";
//                    AnyChatCoreSDK.getInstance(MultiVideoChatActivty.this).TransBuffer(0,mRequestMic.getBytes(),mRequestMic.length());
//                    Log.w(tag, "mRequestMic:----------->"+mRequestMic);
//                }else{
//                    isSpeaking = false;
//                    AnyChatCoreSDK.getInstance(MultiVideoChatActivty.this).UserSpeakControl(-1, 0);
//
//                    String mReleaseMic = getIntent().getIntExtra("userid", -1)+"|0";
//                    AnyChatCoreSDK.getInstance(MultiVideoChatActivty.this).TransBuffer(0,mReleaseMic.getBytes(),mReleaseMic.length());
//                    Log.w(tag, "mRequestMic:----------->"+mReleaseMic);
//                }
//            }
//        });


        mBtnCamera = (Button) this.findViewById(R.id.btn_camera);
//        mBtnCamera.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                if(isOpenCamera == false) {
//                    mSurfaceMeeting1.setVisibility(View.INVISIBLE);
//                    anychat.UserCameraControl(-1, 0);
//                    anychat.UserSpeakControl(-1, 0);
//
//                    bSelfVideoOpened = true;
//                    mBtnCamera.setText("打开摄像头");
//                    isOpenCamera = true;
//                }else {
//                    mSurfaceMeeting1.setVisibility(View.VISIBLE);
//                    anychat.UserCameraControl(-1, 1);
//                    anychat.UserSpeakControl(-1, 1);
//
//                    bSelfVideoOpened = false;
//                    mBtnCamera.setText("关闭摄像头");
//
//                    isOpenCamera = false;
//                }
//            }
//        });

        mTitleName = (TextView) this.findViewById(R.id.titleName);
        mTitleName.setText(getIntent().getStringExtra("groupname"));
        mImgBtnReturn = (ImageView) this.findViewById(R.id.returnImgBtn);
        mImgBtnReturn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                    VideoChatController.instance.endVideoChat();
                finishActivitys();
            }
        });

        mImgSwichVideo = (ImageButton) this.findViewById(R.id.ImgSwichVideo);
//        mImgSwichVideo.setVisibility(View.VISIBLE);
//        mImgSwichVideo.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                AnyChatCoreSDK.mCameraHelper.SwitchCamera();
//            }
//        });

        mTvMeeting1.setText(AnyChatCoreSDK.getInstance(this).GetUserName(getIntent().getIntExtra("userid", -1)));
        // 视频如果是采用java采集
        if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
            mSurfaceMeeting1.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
            Log.i("ANYCHAT", "VIDEOCAPTRUE---" + "JAVA");
        }

        if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
            if (AnyChatCoreSDK.mCameraHelper.GetCameraNumber() > 1) {
                AnyChatCoreSDK.mCameraHelper.SelectVideoCapture(AnyChatCoreSDK.mCameraHelper.CAMERA_FACING_FRONT);
            }
        } else {
            String[] strVideoCaptures = anychat.EnumVideoCapture();
            if (strVideoCaptures != null && strVideoCaptures.length > 1) {
                for (int i = 0; i < strVideoCaptures.length; i++) {
                    String strDevices = strVideoCaptures[i];
                    if (strDevices.indexOf("Front") >= 0) {
                        anychat.SelectVideoCapture(strDevices);
                        break;
                    }
                }
            }
        }

        showIndeterminate("加载视频人员...");
        String roomId = VideoChatController.instance.getRoomId();
        if(roomId != null || !"".equals(roomId)){
                AnyChatCoreSDK.getInstance(this).EnterRoom(Integer.valueOf(roomId), "");
        }
    }

    // 根据配置文件配置视频参数
    private void ApplyVideoConfig() {
        ConfigEntity configEntity = ConfigService.LoadConfig(this);
        // 自定义视频参数配置
        if (configEntity.configMode == 1) {
            // 设置本地视频编码的码率(如果码率为0,则表示使用质量优先模式)
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_BITRATECTRL,configEntity.videoBitrate);
            if (configEntity.videoBitrate == 0) {
                // 设置本地视频编码的质量
                AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL,configEntity.videoQuality);
            }
            // 设置本地视频编码的帧率
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FPSCTRL,configEntity.videoFps);
            // 设置本地视频编码的关键帧间隔
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_GOPCTRL,configEntity.videoFps * 4);
            // 设置本地视频采集分辨率
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_WIDTHCTRL,configEntity.resolution_width);
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_HEIGHTCTRL,configEntity.resolution_height);
            // 设置视频编码预设参数(值越大,编码质量越高,占用CPU资源也会越高)
            AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_PRESETCTRL,configEntity.videoPreset);
        }
        // 让视频参数生效
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_APPLYPARAM,configEntity.configMode);
        // P2P设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_NETWORK_P2PPOLITIC,configEntity.enableP2P);
        // 本地视频Overlay模式设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_OVERLAY,configEntity.videoOverlay);
        // 回音消除设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_AUDIO_ECHOCTRL,configEntity.enableAEC);
        // 平台硬件编码设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_USEHWCODEC,configEntity.useHWCodec);
        // 视频旋转模式设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_ROTATECTRL,configEntity.videorotatemode);
        // 本地视频采集偏色修正设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FIXCOLORDEVIA,configEntity.fixcolordeviation);
        // 视频GPU渲染设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_GPUDIRECTRENDER,configEntity.videoShowGPURender);
        // 本地视频自动旋转设置
        AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION,configEntity.videoAutoRotation);
    }

    private void CheckVideoStatus() {
        if (!bOtherVideoOpened1) {
            if (dwTargetUserId[0] != 0) {
                if (anychat.GetCameraState(dwTargetUserId[0]) == 2 && anychat.GetUserVideoWidth(dwTargetUserId[0]) != 0) {
                    SurfaceHolder holder = mSurfaceMeeting2.getHolder();

                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        holder.setFormat(PixelFormat.RGB_565);
                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                    }
                    Surface s = holder.getSurface();
                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        anychat.mVideoHelper.SetVideoUser(videoIndex1, dwTargetUserId[0]);
                    } else
                        anychat.SetVideoPos(dwTargetUserId[0], s, 0, 0, 0, 0);
                    bOtherVideoOpened1 = true;
                }
            }
        }

        if (!bOtherVideoOpened2) {
            if (dwTargetUserId[1] != 0) {
                if (anychat.GetCameraState(dwTargetUserId[1]) == 2 && anychat.GetUserVideoWidth(dwTargetUserId[1]) != 0) {
                    SurfaceHolder holder = mSurfaceMeeting3.getHolder();

                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        holder.setFormat(PixelFormat.RGB_565);
                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                    }
                    Surface s = holder.getSurface();
                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        anychat.mVideoHelper.SetVideoUser(videoIndex2, dwTargetUserId[1]);
                    } else
                        anychat.SetVideoPos(dwTargetUserId[1], s, 0, 0, 0, 0);
                    bOtherVideoOpened2 = true;
                }
            }
        }

        if (!bOtherVideoOpened3) {
            if (dwTargetUserId[2] != 0) {
                if (anychat.GetCameraState(dwTargetUserId[2]) == 2 && anychat.GetUserVideoWidth(dwTargetUserId[2]) != 0) {
                    SurfaceHolder holder = mSurfaceMeeting4.getHolder();

                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        holder.setFormat(PixelFormat.RGB_565);
                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                    }
                    Surface s = holder.getSurface();
                    if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                        anychat.mVideoHelper.SetVideoUser(videoIndex3, dwTargetUserId[2]);
                    } else
                        anychat.SetVideoPos(dwTargetUserId[2], s, 0, 0, 0, 0);
                    bOtherVideoOpened3 = true;
                }
            }
        }
        
        if (!bOtherVideoOpened4) {
                if (dwTargetUserId[3] != 0) {
                        if (anychat.GetCameraState(dwTargetUserId[3]) == 2 && anychat.GetUserVideoWidth(dwTargetUserId[3]) != 0) {
                                SurfaceHolder holder = mSurfaceMeeting5.getHolder();
                               
                                if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                        holder.setFormat(PixelFormat.RGB_565);
                                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                                }
                                Surface s = holder.getSurface();
                                if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                        anychat.mVideoHelper.SetVideoUser(videoIndex4, dwTargetUserId[3]);
                                } else
                                        anychat.SetVideoPos(dwTargetUserId[3], s, 0, 0, 0, 0);
                                bOtherVideoOpened4 = true;
                        }
                }
        }
        if (!bOtherVideoOpened5) {
                if (dwTargetUserId[4] != 0) {
                        if (anychat.GetCameraState(dwTargetUserId[4]) == 2 && anychat.GetUserVideoWidth(dwTargetUserId[4]) != 0) {
                                SurfaceHolder holder = mSurfaceMeeting5.getHolder();
                               
                                if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                        holder.setFormat(PixelFormat.RGB_565);
                                        holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                                }
                                Surface s = holder.getSurface();
                                if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                                        anychat.mVideoHelper.SetVideoUser(videoIndex5, dwTargetUserId[4]);
                                } else
                                        anychat.SetVideoPos(dwTargetUserId[4], s, 0, 0, 0, 0);
                                bOtherVideoOpened5 = true;
                        }
                }
        }

        if (!bSelfVideoOpened) {
            if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
                SurfaceHolder holder = mSurfaceMeeting1.getHolder();

                if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
                    holder.setFormat(PixelFormat.RGB_565);
                    holder.setFixedSize(anychat.GetUserVideoWidth(-1), anychat.GetUserVideoHeight(-1));
                }

                Surface s = holder.getSurface();
                anychat.SetVideoPos(-1, s, 0, 0, 0, 0);
                bSelfVideoOpened = true;
            }
        }
    }

    private void updateAV() {
        mHandler = new Handler() {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                switch (msg.what) {
                    case MSG_CHECKAV:
                        //实时视频刷新
                        CheckVideoStatus();
                        //实时音频数据
//                        updateVolume();
                        break;
                    case MSG_TIMEUPDATE:
//                        mTxtTime.setText(BaseMethod
//                                .getTimeShowString(videocallSeconds++));
                        break;
                }

            }
        };
        initTimerCheckAv();
        initTimerShowTime();
    }

    private Timer mTimerCheckAv;
    private TimerTask mTimerTask;
    private void initTimerCheckAv() {
        if (mTimerCheckAv == null) {
            mTimerCheckAv = new Timer();
        }
        mTimerTask = new TimerTask() {
            @Override
            public void run() {
                mHandler.sendEmptyMessage(MSG_CHECKAV);
            }
        };
        mTimerCheckAv.schedule(mTimerTask, 1000, 100);
    }

    private Timer mTimerShowVideoTime;
    private void initTimerShowTime() {
        if (mTimerShowVideoTime == null) {
            mTimerShowVideoTime = new Timer();
        }
        mTimerTask = new TimerTask() {
            @Override
            public void run() {
                mHandler.sendEmptyMessage(MSG_TIMEUPDATE);
            }
        };
        mTimerShowVideoTime.schedule(mTimerTask, 100, 1000);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if(keyCode == KeyEvent.KEYCODE_BACK){
                VideoChatController.instance.endVideoChat();
                finishActivitys();
        }
        return super.onKeyDown(keyCode, event);
    }

    @Override
    protected void onRestart() {
        if (anychat == null){
            anychat = new AnyChatCoreSDK();
        }
        anychat.SetBaseEvent(this);
        anychat.SetVideoCallEvent(this);
        anychat.SetObjectEvent(this);
        anychat.SetTransDataEvent(this);
        super.onRestart();

//        if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
//            videoIndex1 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting2.getHolder());
//            anychat.mVideoHelper.SetVideoUser(videoIndex1, dwTargetUserId);
//        }
    }

    @Override
    public void OnAnyChatConnectMessage(boolean bSuccess) {

    }

    @Override
    public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {

    }
    @Override
    public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
        waitingpd.dismiss();
        if (dwErrorCode == 0) {
            mSurfaceMeeting1.setVisibility(View.VISIBLE);
            anychat.UserCameraControl(-1, 1);
            anychat.UserSpeakControl(-1, 1);
            bSelfVideoOpened = false;
        }

        int[] onlineUserCount = AnyChatCoreSDK.getInstance(this).GetOnlineUser();
        if (onlineUserCount.length == 0) {
        } else {
            for (int i=0;i<onlineUserCount.length;i++) {
                dwTargetUserId[i] = onlineUserCount[i];
                anychat.UserCameraControl(onlineUserCount[i], 1);
                anychat.UserSpeakControl(onlineUserCount[i], 1);
            }
        }
        InitVideo();
    }

    private void InitVideo() {
        // 视频显示如果是采用java采集,SurfacecallBack
        if (AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
            if (dwTargetUserId[0] != 0) {
                mSurfaceMeeting2.setVisibility(View.VISIBLE);
                videoIndex1 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting2.getHolder());
                anychat.mVideoHelper.SetVideoUser(videoIndex1, dwTargetUserId[0]);
                mTvMeeting2.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwTargetUserId[0]));
            }
            if (dwTargetUserId[1] != 0) {
                mSurfaceMeeting3.setVisibility(View.VISIBLE);
                videoIndex2 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting3.getHolder());
                anychat.mVideoHelper.SetVideoUser(videoIndex2, dwTargetUserId[1]);
                mTvMeeting3.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwTargetUserId[1]));
            }
            if (dwTargetUserId[2] != 0) {
                mSurfaceMeeting4.setVisibility(View.VISIBLE);
                videoIndex3 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting4.getHolder());
                anychat.mVideoHelper.SetVideoUser(videoIndex3, dwTargetUserId[2]);
                mTvMeeting4.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwTargetUserId[2]));
            }
            if (dwTargetUserId[3] != 0) {
                    mSurfaceMeeting5.setVisibility(View.VISIBLE);
                    videoIndex4 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting5.getHolder());
                    anychat.mVideoHelper.SetVideoUser(videoIndex4, dwTargetUserId[3]);
                    mTvMeeting5.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwTargetUserId[3]));
            }
            if (dwTargetUserId[4] != 0) {
                    mSurfaceMeeting6.setVisibility(View.VISIBLE);
                    videoIndex5 = anychat.mVideoHelper.bindVideo(mSurfaceMeeting6.getHolder());
                    anychat.mVideoHelper.SetVideoUser(videoIndex5, dwTargetUserId[4]);
                    mTvMeeting6.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwTargetUserId[4]));
            }
            Log.i("ANYCHAT", "VIDEOSHOW---" + "JAVA");
        }
    }

    @Override
    public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {

    }

    @Override
    public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
        if (bEnter) {
            anychat.UserCameraControl(dwUserId, 1);
            anychat.UserSpeakControl(dwUserId, 1);
            if (dwTargetUserId[0] == 0) {
                dwTargetUserId[0] = dwUserId;
                mTvMeeting2.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwUserId));
            } else if (dwTargetUserId[1] == 0) {
                dwTargetUserId[1] = dwUserId;
                mTvMeeting3.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwUserId));
            } else if (dwTargetUserId[2] == 0) {
                dwTargetUserId[2] = dwUserId;
                mTvMeeting4.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwUserId));
            }else if(dwTargetUserId[3] == 0){
                    dwTargetUserId[3] = dwUserId;
                    mTvMeeting5.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwUserId));
            }else if(dwTargetUserId[4] == 0){
                    dwTargetUserId[4] = dwUserId;
                    mTvMeeting6.setText(AnyChatCoreSDK.getInstance(this).GetUserName(dwUserId));
            }
            InitVideo();
        } else {
            anychat.UserCameraControl(dwUserId, 0);
            anychat.UserSpeakControl(dwUserId, 0);
            int k = -1;
            for (int i=0;i<5;i++) {
                if (dwTargetUserId[i] == dwUserId) {
                    k = i;
                }
            }
            dwTargetUserId[k] = 0;

            if (k==0) {
                mSurfaceMeeting2.setVisibility(View.INVISIBLE);
                mTvMeeting2.setText("远程视频");
            } else if (k==1) {
                mSurfaceMeeting3.setVisibility(View.INVISIBLE);
                mTvMeeting3.setText("远程视频");
            } else if (k==2) {
                mSurfaceMeeting4.setVisibility(View.INVISIBLE);
                mTvMeeting4.setText("远程视频");
            }else if(k== 3){
                    mSurfaceMeeting5.setVisibility(View.INVISIBLE);
                    mTvMeeting5.setText("远程视频");
            }else if(k == 4){
                    mSurfaceMeeting6.setVisibility(View.INVISIBLE);
                    mTvMeeting6.setText("远程视频");
            }
        }
    }

    // 网络断开
    @Override
    public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
        Toast.makeText(MultiVideoChatActivty.this,"网络断开连接",1).show();
//        anychat.Logout();
//        Intent intent = new Intent(MultiVideoChatActivty.this,MultiVideoChatActivty.class);
//        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//        startActivity(intent);
    }

    @Override
    public void OnAnyChatObjectEvent(int dwObjectType, int dwObjectId,
                                     int dwEventType, int dwParam1, int dwParam2, int dwParam3,
                                     int dwParam4, String strParam) {
    }

    public void showIndeterminate(String msg){
        waitingpd.setMessage(msg);
        waitingpd.setCancelable(true);
        waitingpd.setProgress(ProgressDialog.STYLE_HORIZONTAL);
        waitingpd.setIndeterminate(true);
        waitingpd.show();
    }

    @Override
    public void OnAnyChatVideoCallEvent(int dwEventType, int dwUserId, int dwErrorCode, int dwFlags, int dwParam, String userStr) {

    }

    @Override
    public void OnAnyChatTransFile(int dwUserid, String FileName, String TempFilePath, int dwFileLength, int wParam, int lParam, int dwTaskId) {

    }

    boolean isSpeaking = false;
    @Override
    public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen) {
        try {
            //接受数据(windows下默认GBK)
            String srtReceMsg = new String(lpBuf,"GBK");
            if ("0|0".equals(srtReceMsg)) {
                mBtnSpeak.setText("开始发言");
                mBtnSpeak.setEnabled(true);
            } else {
                int buf = srtReceMsg.lastIndexOf("|");
                String aa = srtReceMsg.substring(0, buf);
                String bb = srtReceMsg.substring(buf+1, buf+2);
                int userId = Integer.parseInt(aa);
                int micStatus = Integer.parseInt(bb);
                int selfUserId = getIntent().getIntExtra("userid", -1);
                if (micStatus == 1) {
                    if (userId == selfUserId) {
                        AnyChatCoreSDK.getInstance(this).UserSpeakControl(-1, 1);
                        mBtnSpeak.setText("结束发言");
                        mBtnSpeak.setEnabled(true);
                    } else {
                        isSpeaking = false;
                        mBtnSpeak.setText("禁止发言");
                        mBtnSpeak.setEnabled(false);
                        AnyChatCoreSDK.getInstance(this).UserSpeakControl(userId, 1);

                        if (dwTargetUserId[0] == userId) {
                            mTvMeeting2.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId)+"正在发言中");
                        } else if (dwTargetUserId[1] == userId) {
                            mTvMeeting3.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId)+"正在发言中");
                        } else if (dwTargetUserId[2] == userId) {
                            mTvMeeting4.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId)+"正在发言中");
                        } else if(dwTargetUserId[3] == userId){
                                mTvMeeting5.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId)+"正在发言中");
                        }else if(dwTargetUserId[4] == userId){
                                mTvMeeting6.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId)+"正在发言中");
                        }
                    }
                } else {
                    if(userId != selfUserId && userId != 0){
                        AnyChatCoreSDK.getInstance(this).UserSpeakControl(userId, 1);

                        if (dwTargetUserId[0] == userId) {
                            mTvMeeting2.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId));
                        } else if (dwTargetUserId[1] == userId) {
                            mTvMeeting3.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId));
                        } else if (dwTargetUserId[2] == userId) {
                            mTvMeeting4.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId));
                        } else if (dwTargetUserId[3] == userId){
                                 mTvMeeting5.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId));
                        } else if (dwTargetUserId[4] == userId){
                                 mTvMeeting6.setText(AnyChatCoreSDK.getInstance(this).GetUserName(userId));
                        }
                    }
                    mBtnSpeak.setText("开始发言");
                    mBtnSpeak.setEnabled(true);
                }
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

    @Override
    public void OnAnyChatTransBufferEx(int dwUserid, byte[] lpBuf, int dwLen, int wparam, int lparam, int taskid) {

    }

    @Override
    public void OnAnyChatSDKFilterData(byte[] lpBuf, int dwLen) {

    }
   
    @Override
    protected void onDestroy() {
            if(anychat != null){
                    anychat.LeaveRoom(-1);
                    anychat.Logout();
                        anychat.Release();
            }
            VideoChatController.instance.clearData();
            super.onDestroy();
    }

        private void finishActivitys() {
                if(MultiVideoSelectActivity.multiVideoSelectctivity != null){
                    MultiVideoSelectActivity.multiVideoSelectctivity.finish();
            }
            if(MultiVideoChatConnectingActivity.multiVideoChatConnectingActivity != null){
                    MultiVideoChatConnectingActivity.multiVideoChatConnectingActivity.finish();
            }
            this.finish();
        }
}
作者: 佰锐科技-刘洋    时间: 2016-12-1 09:39
你好 发一份日志上来分析一下 AnyChat生成的日志,在插件的安装目录(默认安装目录:C:\Program Files (x86)\BaiRuiTech\AnyChatWeb),文件名:BRAnyChatCore.log,如果找不到该日志,请卸载插件后重新安装到其他非系统盘看看
作者: Luyh    时间: 2016-12-1 10:02
运行的是android平台
作者: Luyh    时间: 2016-12-1 10:02
log 如下:

[2016-11-30 16:07:18(099)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-11-30 16:07:18(099)]        Load libanychatcore.so success!(V6.0 Build Time:Feb 15 2016 13:16:39)
[2016-11-30 16:07:18(099)]        Android OS SDK Version:17, Support ARMv7:2, Support Neon:4
[2016-11-30 16:07:18(120)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-30 16:07:18(127)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-30 16:07:18(133)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-30 16:07:18(134)]        cpu:SMDK4x12(b0f2707d4d004c43) 1592.52 mips
[2016-11-30 16:07:18(134)]        SM-C101(samsung) exynos4 smdk4x12 4.2.2
[2016-11-30 16:07:18(136)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-30 16:07:18(136)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-30 16:07:18(136)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-30 16:07:18(136)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-30 16:07:18(198)]        Invoke        Connect(121.40.44.164,8906)=0
[2016-11-30 16:07:18(199)]        Invoke        Login(username:卢允辉)=0
[2016-11-30 16:07:18(206)]        Create anychatdnsserver connect:121.40.44.164(8906)
[2016-11-30 16:07:18(434)]        On pre-connection result, errorcode:0, anychatcoreserver, 121.40.44.164(8906, tcp:1)
[2016-11-30 16:07:18(515)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-30 16:07:18(680)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-30 16:07:18(731)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-30 16:07:19(084)]        Message        OnLoginSystem(userid=-4138,errorcode=0,username=卢允辉), msg deliver worked(0)
[2016-11-30 16:07:19(085)]        Server running time: 49 days, 18 hours, 31 minutes, license mode:0
[2016-11-30 16:07:19(115)]        Connection to streaming media server successfully!(udp delay:15ms)
[2016-11-30 16:07:22(886)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-30 16:07:22(886)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-30 16:07:22(886)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-30 16:07:22(886)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-30 16:07:22(917)]        Invoke        EnterRoom(roomid=316293)
[2016-11-30 16:07:23(042)]        Message        OnEnterRoom(roomid=316293,errorcode=0,siteindex=1)
[2016-11-30 16:07:23(043)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-30 16:07:23(043)]        Message        OnReceiveOnlineUser(count=2,roomid=316293)
[2016-11-30 16:07:23(253)]        APPLOG        Camera Preview size: 704 x 528
[2016-11-30 16:07:23(255)]        APPLOG        Camera Preview size: 960 x 540
[2016-11-30 16:07:23(255)]        APPLOG        Camera Preview size: 768 x 512
[2016-11-30 16:07:23(255)]        APPLOG        Camera Preview size: 704 x 576
[2016-11-30 16:07:23(256)]        APPLOG        Camera Preview size: 640 x 524
[2016-11-30 16:07:23(256)]        APPLOG        Camera Preview size: 640 x 480
[2016-11-30 16:07:23(257)]        APPLOG        Camera Preview size: 512 x 512
[2016-11-30 16:07:23(257)]        APPLOG        Camera Preview size: 352 x 288
[2016-11-30 16:07:23(257)]        APPLOG        Camera Preview size: 320 x 320
[2016-11-30 16:07:23(258)]        APPLOG        Camera Preview size: 320 x 240
[2016-11-30 16:07:23(258)]        APPLOG        Camera FrameRate: 15000 , 30000
[2016-11-30 16:07:23(361)]        On Remote UserCameraControl(dwUserId:-4137, bOpen:1)
[2016-11-30 16:07:23(433)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_EXTVIDEOINPUT=1)
[2016-11-30 16:07:23(433)]        Invoke        SetInputVideoFormat(pixfmt:8, 320x240, 30fps, flags:0)
[2016-11-30 16:07:23(480)]        video init finish:320x240, NV21, fps:30, codecid:1
[2016-11-30 16:07:23(481)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2016-11-30 16:07:23(481)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-30 16:07:23(481)]        Invoke        UserCameraControl(userid=-4137, bOpen=1, stream=0)
[2016-11-30 16:07:23(482)]        Invoke        UserSpeakControl(userid=-4137,bOpen=1)
[2016-11-30 16:07:23(568)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_EXTVIDEOINPUT=1)
[2016-11-30 16:07:23(573)]        Invoke        SetInputVideoFormat(pixfmt:8, 320x240, 30fps, flags:0)
[2016-11-30 16:07:23(617)]        On Remote UserSpeakControl(dwUserId:-4137, bOpen:1)
[2016-11-30 16:07:23(629)]        video init finish:320x240, NV21, fps:30, codecid:1
[2016-11-30 16:07:23(666)]        Invoke        SetInputAudioFormat(1, 16000, 16, flags:0)
[2016-11-30 16:07:23(666)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2016-11-30 16:07:23(666)]        Audio codec init, handle:3, 11, 1, 16000, 16, 15850
[2016-11-30 16:07:23(671)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-30 16:07:23(788)]        video codec init:codec:1, 10fps, 320x240, bitrate:150kbps, quality:0, preset:3, gop:40, handle:4
[2016-11-30 16:07:24(146)]        userid(-4137) video decode, codec:1, 320x240, delay:11ms
[2016-11-30 16:07:24(501)]        Message        OnUserEnterRoom(userid=-4139,nickname=ZAndroid3,siteindex=2)
[2016-11-30 16:07:24(524)]        Invoke        UserCameraControl(userid=-4139, bOpen=1, stream=0)
[2016-11-30 16:07:24(524)]        Invoke        UserSpeakControl(userid=-4139,bOpen=1)
[2016-11-30 16:07:26(346)]        On Remote UserCameraControl(dwUserId:-4139, bOpen:1)
[2016-11-30 16:07:26(346)]        On Remote UserSpeakControl(dwUserId:-4139, bOpen:1)
[2016-11-30 16:07:27(303)]        userid(-4139) audio decode, codec:11, 1 channel, 16000Hz
[2016-11-30 16:07:39(562)]        userid(-4139) video decode, codec:1, 320x240, delay:13ms
[2016-11-30 16:07:46(805)]        socket error, disconnected by peer!, bTcp(1) - userid(-1)
[2016-11-30 16:07:46(807)]        OnSocketClose, index(2)-errorcode(0-11), flags:0x10041, bTcp(1),userid(-1), list:0

[2016-11-30 16:07:48(997)]        Invoke        LeaveRoom(roomid=-1)        Elapse:186 ms
[2016-11-30 16:07:49(105)]        Message        OnLinkClose(reason=0, dwErrorCode:0)
[2016-11-30 16:07:51(172)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-30 16:07:57(176)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-30 16:07:57(247)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-30 16:07:57(556)]        Message        OnLoginSystem(userid=-4140,errorcode=0,username=卢允辉), msg deliver worked(0)
[2016-11-30 16:07:57(569)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-30 16:07:57(575)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-30 16:07:57(582)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-30 16:07:57(582)]        Server running time: 49 days, 18 hours, 31 minutes, license mode:0
[2016-11-30 16:07:57(714)]        Connection to streaming media server successfully!(udp delay:65ms)
[2016-11-30 16:07:57(987)]        Message        OnEnterRoom(roomid=316293,errorcode=0,siteindex=1)
[2016-11-30 16:07:57(987)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-30 16:07:57(987)]        Message        OnReceiveOnlineUser(count=3,roomid=316293)
[2016-11-30 16:07:57(994)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2016-11-30 16:07:57(994)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-30 16:07:57(994)]        Invoke        UserCameraControl(userid=-4139, bOpen=1, stream=0)
[2016-11-30 16:07:57(994)]        Invoke        UserSpeakControl(userid=-4139,bOpen=1)
[2016-11-30 16:07:57(994)]        Invoke        UserCameraControl(userid=-4137, bOpen=1, stream=0)
[2016-11-30 16:07:57(994)]        Invoke        UserSpeakControl(userid=-4137,bOpen=1)
[2016-11-30 16:07:58(011)]        On Remote UserCameraControl(dwUserId:-4139, bOpen:1)
[2016-11-30 16:07:58(025)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_EXTVIDEOINPUT=1)
[2016-11-30 16:07:58(026)]        Invoke        SetInputVideoFormat(pixfmt:8, 320x240, 30fps, flags:0)
[2016-11-30 16:07:58(074)]        video init finish:320x240, NV21, fps:30, codecid:1
[2016-11-30 16:07:58(087)]        On Remote UserSpeakControl(dwUserId:-4139, bOpen:1)
[2016-11-30 16:07:58(100)]        Invoke        SetInputAudioFormat(1, 16000, 16, flags:0)
[2016-11-30 16:07:58(100)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2016-11-30 16:07:58(101)]        Audio codec init, handle:2, 11, 1, 16000, 16, 15850
[2016-11-30 16:07:58(103)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-30 16:07:58(111)]        userid(-4139) audio decode, codec:11, 1 channel, 16000Hz
[2016-11-30 16:07:58(149)]        On Remote UserCameraControl(dwUserId:-4137, bOpen:1)
[2016-11-30 16:07:58(190)]        On Remote UserSpeakControl(dwUserId:-4137, bOpen:1)
[2016-11-30 16:07:58(592)]        video codec init:codec:1, 10fps, 320x240, bitrate:150kbps, quality:0, preset:3, gop:40, handle:4
[2016-11-30 16:08:00(078)]        userid(-4139) video decode, codec:1, 320x240, delay:156ms
[2016-11-30 16:08:14(311)]        Invoke        LeaveRoom(roomid=-1)        Elapse:1106 ms
[2016-11-30 16:08:14(425)]        Invoke        LogoutServer(userid=-4140)        Elapse:1219 ms
[2016-11-30 16:08:14(619)]        Invoke        BRAC_Release        Elapse:194 ms

作者: 佰锐科技-刘洋    时间: 2016-12-1 10:50
Luyh 发表于 2016-12-1 10:02
log 如下:

[2016-11-30 16:07:18(099)]        ---------------------------AnyChat Platform Core SDK Client ...

可以看到 本地网络断开 建议检测一下网络 ;从日志可以看出你的客户端和服务器都不是最新版本,请更新到最新版本
作者: 佰锐科技-刘洋    时间: 2016-12-1 11:11
Luyh 发表于 2016-12-1 10:02
log 如下:

[2016-11-30 16:07:18(099)]        ---------------------------AnyChat Platform Core SDK Client ...

日志上看出  quality:0   这个参数不建议设置为0  建议设置为3
作者: Luyh    时间: 2016-12-1 11:57
你说的是ConfieEntity 里面的 public int resolution_width = 0; 这个字段吗
作者: 佰锐科技-刘洋    时间: 2016-12-1 14:01
Luyh 发表于 2016-12-1 11:57
你说的是ConfieEntity 里面的 public int resolution_width = 0; 这个字段吗

// 设置本地视频编码的质量
        BRAC_SetSDKOption(BRAC_SO_LOCALVIDEO_QUALITYCTRL,mVideoQualityValue);
其中  mVideoQualityValue = 3;


作者: Luyh    时间: 2016-12-1 15:00
这个都设置了--》AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL,configEntity.videoQuality);
还有就是在多人视频的时候,手机的无线网络还很容易被中断掉。
作者: 佰锐科技-刘洋    时间: 2016-12-1 16:22
Luyh 发表于 2016-12-1 15:00
这个都设置了--》AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_QUALITYCTRL,configEn ...

你好 加一下我的Q 2541104522 发一个demo给你




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3