设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4154|回复: 3
打印 上一主题 下一主题

为什么我自己照着anychat开发流程指南写的demo得不到对方的视频呢?

[复制链接]

2

主题

7

帖子

22

积分

新手上路

Rank: 1

积分
22
跳转到指定楼层
楼主
发表于 2015-11-13 11:51:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 简单bu小小 于 2015-11-13 11:56 编辑

我是按照开发流程指南上一步一步写的啊,不知道哪里的问题对方能看到我,我看不到对方我的代码:
MainActivity的代码:
package com.dcl.myanychatdemo;

import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

import com.bairuitech.anychat.AnyChatBaseEvent;
import com.bairuitech.anychat.AnyChatCoreSDK;
import com.bairuitech.anychat.AnyChatObjectEvent;

public class MainActivity extends Activity implements AnyChatBaseEvent,AnyChatObjectEvent{
        
        private AnyChatCoreSDK anychat=null;
        private Button loginBtn,chatBtn;
        private String serverIp="demo.anychat.cn";
        private int port=8906;
        
        
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
                initSDK();
                initView();
        }

        private void initView() {
                loginBtn=(Button) findViewById(R.id.login);
                chatBtn=(Button) findViewById(R.id.chat);
                loginBtn.setOnClickListener(new OnClickListener() {
                        
                        @Override
                        public void onClick(View arg0) {
                                //连接服务器,第一个参数为需要连接的视频服务器地址,部署的视频服务器地址为多少就传入多少
                                anychat.Connect(serverIp, port);
                                //用户登录
                                anychat.Login("Adeng", "");
                        }
                });
                chatBtn.setOnClickListener(new OnClickListener() {
                        
                        @Override
                        public void onClick(View arg0) {
                                //进入房间
                                Intent intent=new Intent();
                                intent.setClass(MainActivity.this, ChatActivity.class);
                                startActivity(intent);
                        }
                });
        }

        private void initSDK() {
                //新建核心类对象
                //方法一:
                anychat=new AnyChatCoreSDK();
                //方法二:
//                anychat=AnyChatCoreSDK.getInstance(getApplicationContext());
               
                //设置基本回调事件接收
                anychat.SetBaseEvent(this);
                //设置业务对象回调事件接收
                anychat.SetObjectEvent(this);
               
                //初始化SDK,第一个参数传入的是Android的系统版本号
                anychat.InitSDK(Build.VERSION.SDK_INT, 0);
               
        }

        //连接服务器触发(connet),bSuccess==true连接服务器成功,反之连接服务器失败
        @Override
        public void OnAnyChatConnectMessage(boolean bSuccess) {
                // TODO Auto-generated method stub
                if(bSuccess){
                        Log.i("msg", "连接服务器成功");
                }else{
                        Log.i("msg", "连接服务器失败");
                }
        }

        //用户登录触发(login),dwUserId是服务器为客户端分配的唯一标识userid,dwErrorCode==0表示登录成功,其他值为登录服务器失败的错误代码
        @Override
        public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {
                // TODO Auto-generated method stub
                if(dwErrorCode==0){
                        Log.i("msg", "登录成功,userid="+dwUserId);
                        anychat.EnterRoom(1, "");
                }else{
                        Log.i("msg", "登录失败,错误代码为:"+dwErrorCode);
                }
        }

        //进入房间触发,dwRoomId为房间号,dwErrorCode==0表示进入房间成功,其他值为进入房间失败的错误代码
        @Override
        public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
                // TODO Auto-generated method stub
                if(dwErrorCode==0){
                        Log.i("msg", "进入房间成功");
                }else{
                        Log.i("msg", "进入房间失败,错误代码为:"+dwErrorCode);
                }
        }

        @Override
        public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {
                // TODO Auto-generated method stub
                Log.i("msg", dwRoomId+"号房间在线人数有"+dwUserNum);
        }

        //当前房间用户离开或者进入房间触发这个回调,dwUserId用户ID,bEnter==true表示进入房间,反之表示离开房间
        @Override
        public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
                // TODO Auto-generated method stub
                Toast.makeText(this, "网络异常,与服务器断开,请检查网络", Toast.LENGTH_SHORT).show();
        }

        //业务对象回调事件,调用AnyChatCoreSDK.ObjectControl方法触发这个回调
        @Override
        public void OnAnyChatObjectEvent(int dwObjectType, int dwObjectId,
                        int dwEventType, int dwParam1, int dwParam2, int dwParam3,
                        int dwParam4, String strParam) {
                // TODO Auto-generated method stub
               
        }

}



显示聊天的界面ChatActivity的代码:
package com.dcl.myanychatdemo;

import com.bairuitech.anychat.AnyChatCoreSDK;
import com.bairuitech.anychat.AnyChatDefine;

import android.app.Activity;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;

public class ChatActivity extends Activity{
        
        private SurfaceView surfaceviewLocal,surfaceviewRemote;
        private AnyChatCoreSDK anychatSDK;
        
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.chat);
                anychatSDK=new AnyChatCoreSDK();
                //初始化用于显示视频的控件surfaceview
                surfaceviewLocal=(SurfaceView) findViewById(R.id.surfaceview_local);
                surfaceviewRemote=(SurfaceView) findViewById(R.id.surfaceview_remote);
                //设置本地视频采集随着设备而旋转处理
                AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_AUTOROTATION, 1);
               
                //初始化硬件Camera设备必须在oncreate方法中
                //启动anychat传感器监听
                anychatSDK.mSensorHelper.InitSensor(this);
                //初始化camera上下文句柄
                AnyChatCoreSDK.mCameraHelper.SetContext(this);
                //设置SURFACE_TYPE_PUSH_BUFFERS模式
                surfaceviewLocal.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
                //打开本地视频预览,开始采集本地视频数据
                surfaceviewLocal.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
               
                //打开本地视频,第一个参数用-1表示本地,也可以用本地的真是userID
                anychatSDK.UserCameraControl(-1, 1);
                //打开本地音频
                anychatSDK.UserSpeakControl(-1, 1);
               
                //-35626为通话目标对象的userID
                int index=anychatSDK.mVideoHelper.bindVideo(surfaceviewRemote.getHolder());
                anychatSDK.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_REQUEST, -35882, 0, 0, 0, null);
                anychatSDK.mVideoHelper.SetVideoUser(index, -35882);
                anychatSDK.UserCameraControl(-35882, 1);
                anychatSDK.UserSpeakControl(-35882, 1);
        }
}



求助大神啊~




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

3

主题

57

帖子

759

积分

高级会员

Rank: 4

积分
759
沙发
发表于 2015-11-13 14:08:20 | 只看该作者
您好,提供一下双方的日志文件,Android客户端的日志在SD卡根目录下(BRAnyChatCore.log)。另外开发时可以参考SDK包下的HelloAnyChat  demo进行开发。
回复 支持 反对

使用道具 举报

2

主题

7

帖子

22

积分

新手上路

Rank: 1

积分
22
板凳
 楼主| 发表于 2015-11-13 15:00:48 | 只看该作者
陈文仲 发表于 2015-11-13 14:08
您好,提供一下双方的日志文件,Android客户端的日志在SD卡根目录下(BRAnyChatCore.log)。另外开发时可以 ...

[2015-11-13 14:55:40(228)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2015-11-13 14:55:40(229)]        Load libanychatcore.so success!(V5.3 Build Time:Aug 10 2015 05:31:49)
[2015-11-13 14:55:40(229)]        Android OS SDK Version:18, Support ARMv7:2, Support Neon:4
[2015-11-13 14:55:40(248)]        Load libmediautil_v7.so success!(V5.3 Build Time:Aug 10 2015 05:32:58)
[2015-11-13 14:55:40(259)]        Load libmediashow.so success!(V5.3 Build Time:Aug 10 2015 05:32:42)
[2015-11-13 14:55:40(268)]        Load libmediacore.so success!(V5.3 Build Time:Aug 10 2015 05:32:44)
[2015-11-13 14:55:40(269)]        cpuualcomm MSM 8226 (Flattened Device Tree)(lattened Device Tree)) ) mips
[2015-11-13 14:55:40(269)]        SM-G7108(samsung) msm8226 MSM8626 4.3
[2015-11-13 14:55:40(284)]        Apply video parameter:320x240, bitrate:150kbps, quality:3, gop:40, fps:10, preset:3, codec:0
[2015-11-13 14:55:40(284)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2015-11-13 14:55:40(284)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2015-11-13 14:55:40(285)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2015-11-13 14:55:46(660)]        Invoke        Connect(demo.anychat.cn,8906)=0
[2015-11-13 14:55:46(661)]        Invoke        LoginServer(username=name)
[2015-11-13 14:55:46(712)]        CheckClientSocketLink         Connect(ip=121.199.51.198,port=8906)
[2015-11-13 14:55:47(057)]        Server version: V5.3(Build Time:2015-09-29 22:14:08, Server OS:Windows)
[2015-11-13 14:55:47(149)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2015-11-13 14:55:47(508)]        Message        OnLoginSystem(userid=-36324,errorcode=0,username=name), msg deliver worked(0)
[2015-11-13 14:55:47(511)]        Server running time: 20 days, 22 hours, 55 minutes, license mode:1
[2015-11-13 14:55:47(651)]        Invoke        EnterRoom(roomid=1)
[2015-11-13 14:55:48(378)]        Connection to streaming media server successfully!(udp delay:434ms)
[2015-11-13 14:55:48(636)]        Message        OnEnterRoom(roomid=1,errorcode=0,siteindex=7)
[2015-11-13 14:55:48(638)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2015-11-13 14:55:48(641)]        Message        OnReceiveOnlineUser(count=7,roomid=1)
[2015-11-13 14:55:56(927)]        Message        OnP2PConnectState(userid=9719, state=2)
[2015-11-13 14:55:57(691)]        Message        OnP2PConnectState(userid=-36318, state=2)
[2015-11-13 14:55:58(036)]        Message        OnP2PConnectState(userid=9646, state=2)
[2015-11-13 14:55:58(737)]        Invoke        VideoCallControl(EventType:1, UserId:-36318, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2015-11-13 14:55:58(737)]        Invoke        UserCameraControl(userid=-36318, bOpen=1, stream=0)
[2015-11-13 14:55:58(737)]        Invoke        UserSpeakControl(userid=-36318,bOpen=1)
[2015-11-13 14:55:58(741)]        Invoke        UserCameraControl(userid=-1, bOpen=1, stream=0)
[2015-11-13 14:55:58(742)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2015-11-13 14:55:58(758)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_EXTVIDEOINPUT=0)
[2015-11-13 14:55:58(775)]        Invoke        SetInputAudioFormat(1, 16000, 16, flags:0)
[2015-11-13 14:55:58(776)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2015-11-13 14:55:58(776)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2015-11-13 14:55:58(896)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2015-11-13 14:55:59(006)]        APPLOG        Camera Preview size: 720 x 720
[2015-11-13 14:55:59(009)]        APPLOG        Camera Preview size: 1280 x 720
[2015-11-13 14:55:59(009)]        APPLOG        Camera Preview size: 1056 x 864
[2015-11-13 14:55:59(010)]        APPLOG        Camera Preview size: 960 x 720
[2015-11-13 14:55:59(011)]        APPLOG        Camera Preview size: 720 x 480
[2015-11-13 14:55:59(011)]        APPLOG        Camera Preview size: 640 x 480
[2015-11-13 14:55:59(012)]        APPLOG        Camera Preview size: 352 x 288
[2015-11-13 14:55:59(013)]        APPLOG        Camera Preview size: 320 x 240
[2015-11-13 14:55:59(015)]        APPLOG        Camera FrameRate: 7000 , 30500
[2015-11-13 14:55:59(054)]        Message        OnVideoCallEvent(EventType:2, UserId:-36318, ErrorCode:0, dwFlags:0x0, dwParam:0
[2015-11-13 14:55:59(105)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_EXTVIDEOINPUT=1)
[2015-11-13 14:55:59(106)]        Invoke        SetInputVideoFormat(pixfmt:8, 320x240, 30fps, flags:0)
[2015-11-13 14:55:59(106)]        video init finish:320x240, NV21, fps:30, codecid:1
[2015-11-13 14:55:59(802)]        video codec init:codec:1, 10fps, 320x240, bitrate:150kbps, quality:3, preset:3, gop:40, handle:2
[2015-11-13 14:56:05(510)]        userid(-36318) audio decode, codec:11, 1 channel, 16000Hz
[2015-11-13 14:56:07(787)]        userid(-36318) video decode, codec:1, 320x240, delay:7ms



这个是我的demo的日志,另外一个设备运行的是helloanychat的demo
回复 支持 反对

使用道具 举报

2

主题

7

帖子

22

积分

新手上路

Rank: 1

积分
22
地板
 楼主| 发表于 2015-11-13 16:18:59 | 只看该作者
陈文仲 发表于 2015-11-13 14:08
您好,提供一下双方的日志文件,Android客户端的日志在SD卡根目录下(BRAnyChatCore.log)。另外开发时可以 ...

我知道怎么回事了,我在chatActivity里的anychatsdk没有设置基本回调事件,就是这句:
anychatSDK.SetBaseEvent(this);
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|AnyChat ( 粤ICP备13022410号-1 )  

GMT+8, 2024-11-22 22:19 , Processed in 0.133856 second(s), 22 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表