AnyChat技术支持论坛

标题: anychat 只进行语言聊天的 问题 [打印本页]

作者: Luyh    时间: 2016-11-11 10:06
标题: anychat 只进行语言聊天的 问题
现在我想要做一个音频聊天的功能,两端接通后,有时听到的语音有时听不到语音。这什么情况呢?下面是语音聊天的界面代码。


package com.bairuitech.callcenter;

import com.bairuitech.anychat.AnyChatBaseEvent;
import com.bairuitech.anychat.AnyChatCoreSDK;
import com.bairuitech.anychat.AnyChatDefine;
import com.bairuitech.anychat.AnyChatVideoCallEvent;
import com.yunmai.entcc.R;
import com.yunmai.imdemo.controller.voicechat.VoiceChatController;
import com.yunmai.imdemo.controller.voicechat.VoiceChatListener;
import com.yunmai.imdemo.controller.webrtc.RingtoneController;
import com.yunmai.imdemo.ui.ChatActivity;
import com.yunmai.imdemo.util.HandlerUnit;

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

/**
* 单人语音聊天
* @author Administrator
*
*/
public class SingleVoiceChatActivity extends Activity implements OnClickListener, AnyChatBaseEvent, AnyChatVideoCallEvent,VoiceChatListener{
        private TextView voiceChatInfo;
        private Button handUp;
        public AnyChatCoreSDK anychat;
        int userID;// 对方视频id
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_single_voice_chat);
                VoiceChatController.listener = this;
                initView();
                setListener();
                Intent intent = getIntent();
                userID = intent.getIntExtra("UserID", -1);
                InitialSDK();
                RingtoneController.stopRingTone();
        }

        private void InitialSDK() {
                anychat = new AnyChatCoreSDK();
                anychat.SetBaseEvent(this);
                // 启动AnyChat传感器监听
                anychat.mSensorHelper.InitSensor(this);
                // 初始化Camera上下文句柄
                AnyChatCoreSDK.mCameraHelper.SetContext(this);
                anychat.SetVideoCallEvent(this);
        }

        private void initView() {
                voiceChatInfo = (TextView) findViewById(R.id.voice_chat_info);
                handUp = (Button) findViewById(R.id.btn_handup);
                voiceChatInfo.setText("与 "+VoiceChatController.instance.getUserName()
                                + "("
                                + VoiceChatController.instance.getUser().substring(0,
                                                VoiceChatController.instance.getUser().indexOf("#"))
                                + ")"+" 语音中");
        }
       
        private void setListener() {
                handUp.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
                switch (v.getId()) {
                case R.id.btn_handup:
                        anychat.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_FINISH,userID, 0, 0, 0,"");
                        if (HandlerUnit.getMessageHandler() != null) {
                                HandlerUnit
                                                .getMessageHandler()
                                                .obtainMessage(
                                                                ChatActivity.HANDLER_REFRESH_IMMSGLIST)
                                                .sendToTarget();
                        }
                        onVoiceChatRefuse();
                        break;
                }
        }
       
        @Override
        protected void onResume() {
                super.onResume();
                reflashVoice();
        }
       
        @Override
        protected void onPause() {
                super.onPause();
                anychat.UserSpeakControl(-1, 0);
                anychat.UserSpeakControl(userID, 0);
        }
       
        @Override
        protected void onRestart() {
                super.onRestart();
                reflashVoice();
        }

        private void reflashVoice() {
                anychat.UserSpeakControl(userID, 1);
                anychat.UserSpeakControl(-1, 1);
        }

        private void finishActivits() {
                if(VoiceChatConnectingActivity.voiceChatConnectingActivity != null){
                        VoiceChatConnectingActivity.voiceChatConnectingActivity.finish();
                }
                this.finish();
        }

        @Override
        public void OnAnyChatConnectMessage(boolean bSuccess) {
               
        }

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

        @Override
        public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
               
        }

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

        @Override
        public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
               
        }

        @Override
        public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
                anychat.UserSpeakControl(userID, 0);
                anychat.UserSpeakControl(-1, 0);
                Toast.makeText(SingleVoiceChatActivity.this, "视频连接中断,请确定网络是否正常。", 1).show();
        }

        @Override
        public void onVoiceChatAsk() {
               
        }

        @Override
        public void onVoiceChatAgree() {
               
        }

        @Override
        public void onVoiceChatRefuse() {
                if (HandlerUnit.getMessageHandler() != null) {
                        HandlerUnit.getMessageHandler()
                                        .obtainMessage(ChatActivity.HANDLER_REFRESH_IMMSGLIST)
                                        .sendToTarget();
                }
                finishActivits();
        }

        @Override
        public void onTimeOut() {
               
        }

        @Override
        public void onVersionLow() {
                // TODO Auto-generated method stub
               
        }
       
        @Override
        public void OnAnyChatVideoCallEvent(int dwEventType, int dwUserId,
                        int dwErrorCode, int dwFlags, int dwParam, String userStr) {
                Log.w("VideoActivity", dwEventType + "");
                switch (dwEventType) {
                case AnyChatDefine.BRAC_VIDEOCALL_EVENT_FINISH:
                        Log.e("BRAC_VIDEOCALL_EVENT_FINISH", dwEventType + "");
                        onVoiceChatRefuse();
                        anychat.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_FINISH,dwUserId, 0, 0, 0,"");
                        break;
                }
        }
       
        @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
                if(keyCode == KeyEvent.KEYCODE_BACK){
                        onVoiceChatRefuse();
                        anychat.VideoCallControl(AnyChatDefine.BRAC_VIDEOCALL_EVENT_FINISH,userID, 0, 0, 0,"");
                }
                return super.onKeyDown(keyCode, event);
        }
       
        @Override
        protected void onDestroy() {
                super.onDestroy();
                if(anychat != null){
                        anychat.Logout();
                        anychat.Release();
                        anychat.mSensorHelper.DestroySensor();
                }
        }

}



作者: 佰锐科技-邵光清    时间: 2016-11-11 12:53
你好,请将两端的日志发过来分析,在sd卡根目录下:BRAnyChatCore.log,谢谢
作者: Luyh    时间: 2016-11-11 13:33
BRAnyChatCore1.log

[2016-11-11 13:23:55(541)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-11-11 13:23:55(541)]        Load libanychatcore.so success!(V6.0 Build Time:Feb 15 2016 13:16:39)
[2016-11-11 13:23:55(541)]        Android OS SDK Version:17, Support ARMv7:2, Support Neon:4
[2016-11-11 13:23:55(609)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-11 13:23:55(629)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-11 13:23:55(635)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-11 13:23:55(636)]        cpu:SMDK4x12(b0f2707d4d004c43) 1592.52 mips
[2016-11-11 13:23:55(636)]        SM-C101(samsung) exynos4 smdk4x12 4.2.2
[2016-11-11 13:23:55(639)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-11 13:23:55(640)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-11 13:23:55(640)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-11 13:23:55(640)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-11 13:23:55(641)]        Invoke        Connect(121.40.44.164,8906)=0
[2016-11-11 13:23:55(651)]        Invoke        Login(username:ZAndroid2)=0
[2016-11-11 13:23:55(756)]        Create anychatdnsserver connect:121.40.44.164(8906)
[2016-11-11 13:23:58(165)]        On pre-connection result, errorcode:0, anychatcoreserver, 121.40.44.164(8906, tcp:1)
[2016-11-11 13:23:58(217)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-11 13:23:58(613)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-11 13:23:58(698)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-11 13:23:59(024)]        Message        OnLoginSystem(userid=-2966,errorcode=0,username=ZAndroid2), msg deliver worked(0)
[2016-11-11 13:23:59(026)]        Server running time: 30 days, 15 hours, 48 minutes, license mode:0
[2016-11-11 13:23:59(031)]        Invoke        EnterRoom(roomid=834276)
[2016-11-11 13:23:59(122)]        Connection to streaming media server successfully!(udp delay:47ms)
[2016-11-11 13:23:59(622)]        Message        OnEnterRoom(roomid=834276,errorcode=0,siteindex=1)
[2016-11-11 13:23:59(622)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-11 13:23:59(623)]        Message        OnReceiveOnlineUser(count=2,roomid=834276)
[2016-11-11 13:23:59(654)]        Invoke        VideoCallControl(EventType:1, UserId:-2967, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 13:23:59(809)]        Message        OnVideoCallEvent(EventType:2, UserId:-2967, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 13:24:01(463)]        Message        OnVideoCallEvent(EventType:3, UserId:-2967, ErrorCode:0, dwFlags:0x0, dwParam:1
[2016-11-11 13:24:01(595)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 13:24:01(595)]        Invoke        UserSpeakControl(userid=-2967,bOpen=1)
[2016-11-11 13:24:01(596)]        Invoke        UserSpeakControl(userid=-2967,bOpen=1)
[2016-11-11 13:24:01(596)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 13:24:01(677)]        Invoke        SetInputAudioFormat(1, 16000, 16, flags:0)
[2016-11-11 13:24:01(677)]        Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
[2016-11-11 13:24:01(678)]        Audio codec init, handle:1, 11, 1, 16000, 16, 15850
[2016-11-11 13:24:01(959)]        On Remote UserSpeakControl(dwUserId:-2967, bOpen:1)
[2016-11-11 13:24:02(052)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-11 13:24:05(818)]        userid(-2967) audio decode, codec:11, 1 channel, 16000Hz
[2016-11-11 13:24:25(823)]        Invoke        VideoCallControl(EventType:4, UserId:-2967, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 13:24:25(886)]        Message        OnVideoCallEvent(EventType:4, UserId:-2967, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 13:24:25(994)]        Invoke        LeaveRoom(roomid=-1)        Elapse:107 ms
[2016-11-11 13:24:26(056)]        Invoke        LogoutServer(userid=-2966)        Elapse:170 ms
[2016-11-11 13:24:26(098)]        Invoke        BRAC_Release        Elapse:41 ms


BRAnyChatCore2.log
[2016-11-11 13:29:51(929)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-11-11 13:29:51(929)]        Load libanychatcore.so success!(V6.0 Build Time:Feb 15 2016 13:16:39)
[2016-11-11 13:29:51(929)]        Android OS SDK Version:19, Support ARMv7:2, Support Neon:4
[2016-11-11 13:29:51(947)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-11 13:29:51(954)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-11 13:29:51(962)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-11 13:29:51(963)]        HONOR H30-L01M(HUAWEI) hi6620oem  4.4.2
[2016-11-11 13:29:51(964)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-11 13:29:51(964)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-11 13:29:51(964)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-11 13:29:51(964)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-11 13:29:51(964)]        Invoke        Connect(121.40.44.164,8906)=0
[2016-11-11 13:29:51(965)]        Invoke        Login(username:卢允辉)=0
[2016-11-11 13:29:52(043)]        Create anychatdnsserver connect:121.40.44.164(8906)
[2016-11-11 13:29:52(296)]        On pre-connection result, errorcode:0, anychatcoreserver, 121.40.44.164(8906, tcp:1)
[2016-11-11 13:29:52(355)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-11 13:29:53(203)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-11 13:29:53(205)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-11 13:29:53(599)]        Message        OnLoginSystem(userid=-2970,errorcode=0,username=卢允辉), msg deliver worked(0)
[2016-11-11 13:29:53(601)]        Server running time: 30 days, 15 hours, 53 minutes, license mode:0
[2016-11-11 13:29:53(610)]        Invoke        EnterRoom(roomid=626466)
[2016-11-11 13:29:53(683)]        Connection to streaming media server successfully!(udp delay:40ms)
[2016-11-11 13:29:54(140)]        Message        OnEnterRoom(roomid=626466,errorcode=0,siteindex=0)
[2016-11-11 13:29:54(141)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-11 13:29:54(141)]        Message        OnReceiveOnlineUser(count=1,roomid=626466)
[2016-11-11 13:29:54(160)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-11 13:29:54(619)]        Message        OnUserEnterRoom(userid=-2971,nickname=ZAndroid2,siteindex=1)
[2016-11-11 13:29:55(167)]        Invoke        VideoCallControl(EventType:1, UserId:-2971, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 13:29:55(240)]        Message        OnVideoCallEvent(EventType:2, UserId:-2971, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 13:29:56(364)]        Message        OnVideoCallEvent(EventType:3, UserId:-2971, ErrorCode:0, dwFlags:0x0, dwParam:1
[2016-11-11 13:29:56(484)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 13:29:56(485)]        Invoke        UserSpeakControl(userid=-2971,bOpen=1)
[2016-11-11 13:29:56(488)]        Invoke        UserSpeakControl(userid=-2971,bOpen=1)
[2016-11-11 13:29:56(489)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 13:29:56(686)]        On Remote UserSpeakControl(dwUserId:-2971, bOpen:1)
[2016-11-11 13:30:05(902)]        Invoke        VideoCallControl(EventType:4, UserId:-2971, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 13:30:06(059)]        Invoke        LeaveRoom(roomid=-1)        Elapse:116 ms
[2016-11-11 13:30:06(083)]        Invoke        LogoutServer(userid=-2970)        Elapse:140 ms
[2016-11-11 13:30:06(158)]        Invoke        BRAC_Release        Elapse:74 ms



作者: 佰锐科技-邵光清    时间: 2016-11-11 14:11
你好,第二个日志显示音频并没有初始化,没有输出
  1. Audio Init, error:0, device:-1, 1, 16000, 16, capmode:0
  2. Audio codec init, handle:1, 11, 1, 16000, 16, 15850
复制代码
同一个程序么? HONOR H30-L01M(HUAWEI) hi6620oem  4.4.2这个手机跑我们demo是否声音正常?
作者: 佰锐科技-邵光清    时间: 2016-11-11 14:23
两端接通后,有时听到语音有时听不到语音


请问听不到语音,是发生在什么情况下?
作者: Luyh    时间: 2016-11-11 14:37
跳转到如下acitivity时就进行语言通话(然而在这个activity中进行语音通话的时候会偶尔出现上面出现的问题)

package com.bairuitech.callcenter;

import com.bairuitech.anychat.AnyChatBaseEvent;
import com.bairuitech.anychat.AnyChatCoreSDK;
import com.bairuitech.anychat.AnyChatVideoCallEvent;
import com.yunmai.entcc.R;
import com.yunmai.imdemo.controller.voicechat.VoiceChatController;
import com.yunmai.imdemo.controller.voicechat.VoiceChatListener;
import com.yunmai.imdemo.controller.webrtc.RingtoneController;
import com.yunmai.imdemo.view.RoundAngleImageView;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

/**
* 单人语音聊天
* @author Administrator
*
*/
public class SingleVoiceChatActivity extends Activity implements OnClickListener, AnyChatBaseEvent, AnyChatVideoCallEvent,VoiceChatListener{
        private TextView voiceChatInfo;
        private Button handUp;
        public AnyChatCoreSDK anychat;
        int userID;// 对方视频id
       
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_single_voice_chat);
                VoiceChatController.listener = this;
                initView();
                setListener();
                Intent intent = getIntent();
                userID = intent.getIntExtra("UserID", -1);
                InitialSDK();
                RingtoneController.stopRingTone();
               
                anychat.UserSpeakControl(userID, 1);
                anychat.UserSpeakControl(-1, 1);
        }

        private void InitialSDK() {
                anychat = new AnyChatCoreSDK();
                anychat.SetBaseEvent(this);
                // 启动AnyChat传感器监听
                anychat.mSensorHelper.InitSensor(this);
                // 初始化Camera上下文句柄
                AnyChatCoreSDK.mCameraHelper.SetContext(this);
                anychat.SetVideoCallEvent(this);
        }

        private void initView() {
                voiceChatInfo = (TextView) findViewById(R.id.voice_chat_info);
                handUp = (Button) findViewById(R.id.btn_handup);
                voiceChatInfo.setText("与 "+VoiceChatController.instance.getUserName()
                                + "("
                                + VoiceChatController.instance.getUser().substring(0,
                                                VoiceChatController.instance.getUser().indexOf("#"))
                                + ")"+" 语音中");
        }
       
        private void setListener() {
                handUp.setOnClickListener(this);
        }

        @Override
        public void onClick(View v) {
                // TODO Auto-generated method stub
                switch (v.getId()) {
                case R.id.btn_handup:
                        VoiceChatController.instance.endVideoChat();
                        finishActivits();
                        break;

                default:
                        break;
                }
        }

        private void finishActivits() {
                if(VoiceChatConnectingActivity.voiceChatConnectingActivity != null){
                        VoiceChatConnectingActivity.voiceChatConnectingActivity.finish();
                }
                this.finish();
        }

        @Override
        public void OnAnyChatVideoCallEvent(int dwEventType, int dwUserId,
                        int dwErrorCode, int dwFlags, int dwParam, String userStr) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatConnectMessage(boolean bSuccess) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onVoiceChatAsk() {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onVoiceChatAgree() {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onVoiceChatRefuse() {
                finishActivits();
        }

        @Override
        public void onTimeOut() {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void onVersionLow() {
                // TODO Auto-generated method stub
               
        }


}

作者: Luyh    时间: 2016-11-11 14:42
对了我问下,我那个语音聊天的activity界面代码逻辑有问题吗?
作者: 佰锐科技-邵光清    时间: 2016-11-11 14:53
本帖最后由 佰锐科技-邵光清 于 2016-11-11 15:03 编辑
Luyh 发表于 2016-11-11 14:42
对了我问下,我那个语音聊天的activity界面代码逻辑有问题吗?

原来两端的程序是不同的。打开本地音频和请求对方的音频,都需要在进入房间之后,即OnAnyChatEnterRoomMessage语音聊天界面应该进入房间了,你试试在initView中,在oncreat中也可以;
  1. anychat.UserSpeakControl(userID, 1);
  2. anychat.UserSpeakControl(-1, 1);
复制代码

作者: 佰锐科技-邵光清    时间: 2016-11-11 15:05
您对比一下发上来的两份代码,其中一个是OK的,就按照这个来改改。
作者: Luyh    时间: 2016-11-11 15:18
我现在测试了一下,就是在进行语音聊天的时候,语音建立连接时时间比较长。  这个该怎么办?

作者: 佰锐科技-邵光清    时间: 2016-11-11 15:33
本帖最后由 佰锐科技-邵光清 于 2016-11-11 15:34 编辑
Luyh 发表于 2016-11-11 15:18
我现在测试了一下,就是在进行语音聊天的时候,语音建立连接时时间比较长。  这个该怎么办?

语音建立连接时时间比较长,是值从连接服务器到语音建立时间长,还是进入房间后到语音建立时间长?另外,您的项目登录一个界面,语音聊天一个界面的噢

作者: Luyh    时间: 2016-11-11 16:16
你们能给我个语音聊天的demo 吗?
作者: Luyh    时间: 2016-11-11 16:18
感觉语音很多问题啊,你们能给我个语音聊天的demo吗
作者: 佰锐科技-邵光清    时间: 2016-11-11 16:21
Luyh 发表于 2016-11-11 16:18
感觉语音很多问题啊,你们能给我个语音聊天的demo吗

在Anychat for android SDK包src目录下,比如helloanychat;
遇到问题欢迎向我们提出来,谢谢
作者: Luyh    时间: 2016-11-11 16:26
语音建立连接时时间比较长,是值从连接服务器到语音建立时间长,还是进入房间后到语音建立时间长?另外,您的项目登录一个界面,语音聊天一个界面的噢


我这边的逻辑是登录anychat--->进入房间------>发起视频通知,获取到anychatid,最后跳转到语音界面。       然而在语音界面调用anychat.UserSpeakControl(userID, 1);
anychat.UserSpeakControl(-1, 1)这两个方法。就会出现之前的问题。
作者: 佰锐科技-邵光清    时间: 2016-11-11 16:41
Luyh 发表于 2016-11-11 16:26
语音建立连接时时间比较长,是值从连接服务器到语音建立时间长,还是进入房间后到语音建立时间长?另外,您 ...

这样,您发两端的日志过来,之前你发的两个日志并不是两端实际的日志。
作者: Luyh    时间: 2016-11-11 17:16
log1:


[2016-11-11 17:14:00(538)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-11-11 17:14:00(539)]        Load libanychatcore.so success!(V6.0 Build Time:Feb 15 2016 13:16:39)
[2016-11-11 17:14:00(540)]        Android OS SDK Version:17, Support ARMv7:2, Support Neon:4
[2016-11-11 17:14:00(604)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-11 17:14:00(616)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-11 17:14:00(627)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-11 17:14:00(630)]        cpu:SMDK4x12(b0f2707d4d004c43) 1592.52 mips
[2016-11-11 17:14:00(630)]        SM-C101(samsung) exynos4 smdk4x12 4.2.2
[2016-11-11 17:14:00(721)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-11 17:14:00(724)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-11 17:14:00(724)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-11 17:14:00(725)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-11 17:14:00(725)]        Invoke        Connect(121.40.44.164,8906)=0
[2016-11-11 17:14:00(725)]        Invoke        Login(username:ZAndroid2)=0
[2016-11-11 17:14:00(781)]        Create anychatdnsserver connect:121.40.44.164(8906)
[2016-11-11 17:14:01(002)]        On pre-connection result, errorcode:0, anychatcoreserver, 121.40.44.164(8906, tcp:1)
[2016-11-11 17:14:01(011)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-11 17:14:01(125)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-11 17:14:01(374)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-11 17:14:01(798)]        Message        OnLoginSystem(userid=-3004,errorcode=0,username=ZAndroid2), msg deliver worked(0)
[2016-11-11 17:14:01(799)]        Server running time: 30 days, 19 hours, 38 minutes, license mode:0
[2016-11-11 17:14:01(809)]        Invoke        EnterRoom(roomid=542864)
[2016-11-11 17:14:01(837)]        Connection to streaming media server successfully!(udp delay:19ms)
[2016-11-11 17:14:02(219)]        Message        OnEnterRoom(roomid=542864,errorcode=0,siteindex=0)
[2016-11-11 17:14:02(219)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-11 17:14:02(220)]        Message        OnReceiveOnlineUser(count=1,roomid=542864)
[2016-11-11 17:14:02(225)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-11 17:14:03(250)]        Message        OnUserEnterRoom(userid=-3005,nickname=卢允辉,siteindex=1)
[2016-11-11 17:14:04(265)]        Invoke        VideoCallControl(EventType:1, UserId:-3005, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 17:14:04(339)]        Message        OnVideoCallEvent(EventType:2, UserId:-3005, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 17:14:05(435)]        Message        OnVideoCallEvent(EventType:3, UserId:-3005, ErrorCode:0, dwFlags:0x0, dwParam:1
[2016-11-11 17:14:05(533)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:05(533)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:05(543)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:05(544)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:05(672)]        On Remote UserSpeakControl(dwUserId:-3005, bOpen:1)
[2016-11-11 17:14:06(544)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:06(545)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:07(544)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:07(544)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:08(545)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:08(545)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:09(545)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:09(546)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:10(545)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:10(545)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:11(545)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:11(545)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:12(545)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:12(547)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:13(546)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:13(547)]        Invoke        UserSpeakControl(userid=-3005,bOpen=1)
[2016-11-11 17:14:14(028)]        Message        OnVideoCallEvent(EventType:4, UserId:-3005, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 17:14:14(196)]        Invoke        VideoCallControl(EventType:4, UserId:-3005, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 17:14:14(320)]        Invoke        LeaveRoom(roomid=-1)        Elapse:105 ms
[2016-11-11 17:14:14(407)]        Invoke        LogoutServer(userid=-3004)        Elapse:192 ms
[2016-11-11 17:14:14(518)]        Invoke        BRAC_Release        Elapse:111 ms


log2:

[2016-11-11 17:14:41(789)]        ---------------------------AnyChat Platform Core SDK Client Log---------------------------
[2016-11-11 17:14:41(789)]        Load libanychatcore.so success!(V6.0 Build Time:Feb 15 2016 13:16:39)
[2016-11-11 17:14:41(789)]        Android OS SDK Version:19, Support ARMv7:2, Support Neon:4
[2016-11-11 17:14:41(805)]        Load libmediautil_v7.so success!(V6.0 Build Time:Feb 15 2016 13:18:25)
[2016-11-11 17:14:41(813)]        Load libmediashow.so success!(V6.0 Build Time:Feb 15 2016 13:18:10)
[2016-11-11 17:14:41(821)]        Load libmediacore.so success!(V6.0 Build Time:Feb 15 2016 13:18:13)
[2016-11-11 17:14:41(822)]        HONOR H30-L01M(HUAWEI) hi6620oem  4.4.2
[2016-11-11 17:14:41(823)]        Apply video parameter:320x240, bitrate:150kbps, quality:0, gop:40, fps:10, preset:3, codec:0
[2016-11-11 17:14:41(823)]        Invoke        SetSDKOption(BRAC_SO_NETWORK_P2PPOLITIC=1)
[2016-11-11 17:14:41(823)]        Invoke        SetSDKOption(BRAC_SO_AUDIO_ECHOCTRL,1)
[2016-11-11 17:14:41(823)]        Invoke        SetSDKOption(BRAC_SO_CORESDK_USEHWCODEC=0)
[2016-11-11 17:14:41(823)]        Invoke        Connect(121.40.44.164,8906)=0
[2016-11-11 17:14:41(824)]        Invoke        Login(username:卢允辉)=0
[2016-11-11 17:14:41(898)]        Create anychatdnsserver connect:121.40.44.164(8906)
[2016-11-11 17:14:42(141)]        On pre-connection result, errorcode:0, anychatcoreserver, 121.40.44.164(8906, tcp:1)
[2016-11-11 17:14:42(202)]        CheckClientSocketLink         Connect(ip=121.40.44.164,port=8906)
[2016-11-11 17:14:42(515)]        Server version: V6.1(Build Time:2016-08-02 13:52:22, Server OS:Windows)
[2016-11-11 17:14:42(617)]        Message        OnConnect(bSuccess:1, errorcode=0)
[2016-11-11 17:14:42(981)]        Message        OnLoginSystem(userid=-3005,errorcode=0,username=卢允辉), msg deliver worked(0)
[2016-11-11 17:14:42(982)]        Server running time: 30 days, 19 hours, 38 minutes, license mode:0
[2016-11-11 17:14:42(989)]        Invoke        EnterRoom(roomid=542864)
[2016-11-11 17:14:43(033)]        Connection to streaming media server successfully!(udp delay:25ms)
[2016-11-11 17:14:43(550)]        Message        OnEnterRoom(roomid=542864,errorcode=0,siteindex=1)
[2016-11-11 17:14:43(550)]        Audio Playback Device Init(0, 1, 16000, 16), Default Playback Driver
[2016-11-11 17:14:43(551)]        Message        OnReceiveOnlineUser(count=2,roomid=542864)
[2016-11-11 17:14:43(569)]        Audio FX Status: VAD:1, NS:1, AGC:1, AEC:1
[2016-11-11 17:14:44(613)]        Message        OnVideoCallEvent(EventType:1, UserId:-3004, ErrorCode:0, dwFlags:0x0, dwParam:0
[2016-11-11 17:14:45(411)]        Invoke        VideoCallControl(EventType:2, UserId:-3004, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 17:14:45(483)]        Message        OnVideoCallEvent(EventType:3, UserId:-3004, ErrorCode:0, dwFlags:0x0, dwParam:1
[2016-11-11 17:14:45(538)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:45(539)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:45(551)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:45(552)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:45(885)]        On Remote UserSpeakControl(dwUserId:-3004, bOpen:1)
[2016-11-11 17:14:46(551)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:46(551)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:47(551)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:47(552)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:48(552)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:48(553)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:49(552)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:49(553)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:50(552)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:50(558)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:51(552)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:51(554)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:52(553)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:52(554)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:53(556)]        Invoke        UserSpeakControl(userid=-1,bOpen=1)
[2016-11-11 17:14:53(559)]        Invoke        UserSpeakControl(userid=-3004,bOpen=1)
[2016-11-11 17:14:54(252)]        Invoke        VideoCallControl(EventType:4, UserId:-3004, ErrorCode:0, dwFlags:0, dwParam:0, UserStr=0
[2016-11-11 17:14:54(397)]        Invoke        LeaveRoom(roomid=-1)        Elapse:106 ms
[2016-11-11 17:14:54(449)]        Invoke        LogoutServer(userid=-3005)        Elapse:158 ms
[2016-11-11 17:14:54(498)]        Invoke        BRAC_Release        Elapse:49 ms


作者: 佰锐科技-邵光清    时间: 2016-11-11 18:04
是什么地方在循环执行UserSpeakControl?另外,有没有加麦克风的权限了?
作者: admin    时间: 2016-11-11 21:27
试试最新的AnyChat V6.2版本
作者: Luyh    时间: 2016-11-14 09:21
我下载的是你们官方的版本:6.1.5550,这个版本有问题么?
作者: Luyh    时间: 2016-11-14 09:30
有加麦克风权限。
作者: 佰锐科技-邵光清    时间: 2016-11-14 09:39
Luyh 发表于 2016-11-14 09:21
我下载的是你们官方的版本:6.1.5550,这个版本有问题么?

你好,没问题。
作者: Luyh    时间: 2016-11-14 09:47
那我这个到底是什么问题。搞得都郁闷死了,
作者: 佰锐科技-邵光清    时间: 2016-11-14 10:32
Luyh 发表于 2016-11-14 09:47
那我这个到底是什么问题。搞得都郁闷死了,

可以将整个程序发过来不,我们帮你调试!
作者: Luyh    时间: 2016-11-14 10:44
好的。怎么发给你呢

作者: 佰锐科技-邵光清    时间: 2016-11-14 10:47
Luyh 发表于 2016-11-14 10:44
好的。怎么发给你呢

邮箱地址:shaogq@bairuitech.com
作者: Luyh    时间: 2016-11-14 11:12
已近发过去了,麻烦帮我排查下,谢谢
作者: 佰锐科技-邵光清    时间: 2016-11-14 14:33
Luyh 发表于 2016-11-14 11:12
已近发过去了,麻烦帮我排查下,谢谢

您好,关于语音问题,有时候可以听到,有时候不可以听到;
我测试发现第一次语音双方都OK,第二次就不正常;原因应该是退出房间前你没有关闭本地麦克风、对方的音频,不论语音还是视频,都需要在leaveroom之前都将本地和对方的音频和视频关闭。
请修改一下代码。
作者: 佰锐科技-邵光清    时间: 2016-11-14 14:44
UserSpeakControl(userid, boolean);    //打开或者关闭音频
UserCameraControl(userid, boolean);  //打开或者关闭视频
作者: Luyh    时间: 2016-11-14 14:48
我修改下,还是不行啊, 还是第一次听得到,下面就听不到了。
作者: Luyh    时间: 2016-11-14 14:49
protected void onDestroy() {
                super.onDestroy();
                if(anychat != null){
                        anychat.UserSpeakControl(-1, 0);
                        anychat.UserSpeakControl(userID, 0);
                        anychat.Logout();
                        anychat.Release();
                        anychat.mSensorHelper.DestroySensor();
                }
        }
作者: 佰锐科技-邵光清    时间: 2016-11-14 15:50
Luyh 发表于 2016-11-14 14:49
protected void onDestroy() {
                super.onDestroy();
                if(anychat != null){

通过看日志, anychat.UserSpeakControl(-1, 0);和anychat.UserSpeakControl(userID, 0);都没执行到;
activity跳转到另一个activity,其会执行onPause()-->onStop(),只有当程序调用了finish()或者意外终止时才会调用onDestroy();
你可以在OnAnyChatUserAtRoomMessage判断对方是退出时,关闭它的音视频;在onPause()中关闭自己、对方的音频和视频。





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