设为首页收藏本站

AnyChat技术支持论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

二次进入的时候没有声音

[复制链接]

11

主题

30

帖子

133

积分

注册会员

Rank: 2

积分
133
跳转到指定楼层
楼主
发表于 2013-10-31 08:42:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个程序二次进入的时候没有对方声音,加入android.os.Process.killProcess(android.os.Process.myPid());这个以后,按返回键的时候,整个程序都会退出,是怎么回事啊?
public class OnlineMonitoringActivity extends Activity implements AnyChatBaseEvent, AnyChatTransDataEvent, OnClickListener {
private AnyChatCoreSDK anychat;
private SurfaceView otherView;  //别人的视频
private SurfaceView myView; //自己的视频
private int userID = 500;
private boolean bVideoAreaLoaded = false; // 视频区域大小是否加载
private ProgressBar OtherProgressBar;  //别人的音量条
private ProgressBar MyProgressBar; //自己的音量条
private int dwLocalVideoWidth = 0;
private int dwLocalVideoHeight = 0;
private int dwRemoteVideoHeight = 0;
private int dwRemoteVideoWidth = 0;
private ImageView mCameraSwitchImage; // 前后摄像头切换按钮
private Timer mTimer = new Timer(true);
private TimerTask mTimerTask;
private Handler handler;
boolean bOnPaused = false;  //暂停按钮
private boolean bSelfVideoOpened = false; // 本地视频是否已打开
private boolean bOtherVideoOpened = false; // 对方视频是否已打开

private boolean isbegin = false;   //是否已经开始录像
private boolean loadSelf = false;

private ConfigEntity configEntity ;
private ConfigService configService;
@Override
protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  //setContentView(R.layout.online_monitoring);
  configEntity = ConfigService.LoadConfig(this);
  InitialSDK();
  InitialLayout();
  mTimerTask = new TimerTask() {
   public void run() {
    if(handler == null)
     return;
    Message mesasge = new Message();
    handler.sendMessage(mesasge);
   }
  };
        
  mTimer.schedule(mTimerTask, 1000, 100);
  handler = new Handler() {
   @Override
   public void handleMessage(Message msg) {
    CheckVideoStatus();
    SetVolum();
    super.handleMessage(msg);
   }
  };
}
    public void refreshOnther(){
  if (!bOtherVideoOpened) {
   Log.i("打开别人的", anychat.GetCameraState(userID)  +" "+anychat.GetUserVideoWidth(userID));
   if (anychat.GetCameraState(userID) == 2 && anychat.GetUserVideoWidth(userID) != 0) {
    SurfaceHolder holder = otherView.getHolder();
    holder.setFormat(PixelFormat.RGB_565);
    holder.setFixedSize(anychat.GetUserVideoWidth(userID),
    anychat.GetUserVideoHeight(userID));
    Surface s = holder.getSurface();
    anychat.SetVideoPos(userID, s, 0, 0, 0, 0);
    bOtherVideoOpened = true;
   }
  }else {
   
  }
     }
     public void refreshMe(){
      if (!bSelfVideoOpened) {
    Log.i("打开自己的", anychat.GetCameraState(-1)  +" "+anychat.GetUserVideoWidth(-1));
    if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
     SurfaceHolder holder = myView.getHolder();
     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;
    }else {
     anychat.UserCameraControl(-1, 1);
     anychat.UserSpeakControl(-1, 1);
   }
   }
     }
     
     
     private void CheckVideoStatus() {
    if(bOnPaused)
     return;
    if (isbegin) {
     refreshOnther();
  }
     if (!bSelfVideoOpened) {
      Log.i("打开自己的", anychat.GetCameraState(-1)  +" "+anychat.GetUserVideoWidth(-1));
      if (anychat.GetCameraState(-1) == 2 && anychat.GetUserVideoWidth(-1) != 0) {
       SurfaceHolder holder = myView.getHolder();
       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;
      }else {
      
     }
     }
   
   }
     //初始化SDK连接服务器
   public void InitialSDK(){
    if (anychat == null) {
     anychat = new AnyChatCoreSDK();
  }
     if (configEntity.useARMv6Lib != 0) // 是否强制使用ARMv6指令集,默认是内核自动判断
     AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_CORESDK_USEARMV6LIB, 1);
     anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0 );
     anychat.SetBaseEvent(this);
     anychat.SetTransDataEvent(this);
     // 启动AnyChat传感器监听
     
     anychat.mSensorHelper.InitSensor(this);
     ApplyVideoConfig();
        //anychat.Connect("demo.anychat.cn", 8906);// 连接服务器
     connectServer();
      
   }
   
     public void connectServer(){
      try {
   String iptext = setIpText();
   anychat.Connect(iptext, 8906);
   
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
     // anychat.Connect("218.194.144.244", 8906);// 连接服务器
     }
   
      //初始化界面
      private void InitialLayout() {
   // TODO Auto-generated method stub
      this.setContentView(R.layout.online_monitoring);
    this.setTitle("与" + anychat.GetUserName(userID) + "视频通话");
    myView = (SurfaceView) findViewById(R.id.surface_local);
    otherView = (SurfaceView) findViewById(R.id.surface_remote);
   
    Button button = (Button) findViewById(R.id.beginBtn);
    Button endButton = (Button) findViewById(R.id.endBtn);
    endButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    AlertDialog.Builder builder = new AlertDialog.Builder(OnlineMonitoringActivity.this);
    builder.setMessage("您确定要退出在线监控吗?");
    builder.setPositiveButton("确定", new DialogInterface.OnClickListener(){
     @Override
     public void onClick(DialogInterface dialog, int which) {
      SendMessageToFWQ("11");
      onDestroy();
      
      
     }
    });
    builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      dialog.cancel();
     }
    });
     AlertDialog alertDialog = builder.create();
     alertDialog.show();
   }
  });
    button.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     loadSelf = true;
     //refreshMe();
     SendMessageToFWQ("10");
     
    }
   });
   // 如果是采用Java视频采集,则需要设置Surface的CallBack
     if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
      myView.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);
      //myView.setZOrderOnTop(true);
     }
     
     // 如果是采用Java视频显示,则需要设置Surface的CallBack
     if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
      int index = anychat.mVideoHelper.bindVideo(otherView.getHolder());
      anychat.mVideoHelper.SetVideoUser(index, userID);
     }
     
     otherView.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {
      
       @Override
       public void onGlobalLayout() {
        // TODO Auto-generated method stub
        if(!bVideoAreaLoaded)
        {
         adjuestVideoSize(otherView.getWidth(), otherView.getHeight());
         bVideoAreaLoaded=true;
        }
       }
      });
     
     mCameraSwitchImage = (ImageView) findViewById(R.id.image_switch_camera);
     mCameraSwitchImage.setOnClickListener(this);
     MyProgressBar = (ProgressBar) findViewById(R.id.progress_local);
     OtherProgressBar = (ProgressBar) findViewById(R.id.progress_remote);
     
     myView.setOnClickListener(this);
     ConfigEntity configEntity = ConfigService.LoadConfig(this);  
     if (configEntity.videoOverlay != 0) {
      myView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
     }
     
     // 判断是否显示本地摄像头切换图标
       if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
        if(AnyChatCoreSDK.mCameraHelper.GetCameraNumber() > 1) {
         mCameraSwitchImage.setVisibility(View.VISIBLE);
         // 默认打开前置摄像头
         AnyChatCoreSDK.mCameraHelper.SelectVideoCapture(AnyChatCoreSDK.mCameraHelper.CAMERA_FACING_FRONT);
        }
       }else {
        String[] strVideoCaptures = anychat.EnumVideoCapture();
        if (strVideoCaptures != null && strVideoCaptures.length > 1) {
         mCameraSwitchImage.setVisibility(View.VISIBLE);
         // 默认打开前置摄像头
         for(int i=0;i<strVideoCaptures.length;i++)
         {
          String strDevices=strVideoCaptures[i];
          if(strDevices.indexOf("Front")>=0) {
           anychat.SelectVideoCapture(strDevices);
           break;
          }
         }
        }
       }
       };
      
       OnClickListener listener = new OnClickListener() {
      public void onClick(View v) {
      }
     };
     
     
      private void openOnther(){
          SurfaceHolder holder = otherView.getHolder();
       holder.setKeepScreenOn(true);
       anychat.UserCameraControl(userID, 1);
       anychat.UserSpeakControl(userID, 1);
        }
     
     //设置音量条
     private void SetVolum() {
      OtherProgressBar.setProgress(anychat.GetUserSpeakVolume(userID));
      MyProgressBar.setProgress(anychat.GetUserSpeakVolume(-1));
     }
      
     private void adjuestVideoSize(int width, int height) {
//      if (3 * width > 4 * height) {
//       dwRemoteVideoHeight = height;
//       dwRemoteVideoWidth = (int) (4.0 / 3.0 * dwRemoteVideoHeight);
//      } else {
//       dwRemoteVideoWidth = width;
//       dwRemoteVideoHeight = (int) (3.0 / 4.0 * dwRemoteVideoWidth);
//      }
//      dwLocalVideoWidth = dwRemoteVideoWidth;
//      dwLocalVideoHeight = dwRemoteVideoHeight;
      dwLocalVideoWidth = myView.getWidth();
      dwLocalVideoHeight = myView.getHeight();
      FrameLayout.LayoutParams layoutParamSelf=new FrameLayout.LayoutParams(dwLocalVideoWidth, dwLocalVideoHeight);
      myView.setLayoutParams(layoutParamSelf);
      LinearLayout.LayoutParams layoutPramOther=new LinearLayout.LayoutParams(width, height);
      otherView.setLayoutParams(layoutPramOther);
     }

     private void refreshAV() {
      //anychat.UserCameraControl(userID, 1);
      //anychat.UserSpeakControl(userID, 1);
      anychat.UserCameraControl(-1, 1);
      anychat.UserSpeakControl(-1, 1);
      bOtherVideoOpened = false;
      bSelfVideoOpened = false;
     }
     protected void onRestart() {
      super.onRestart();
      // 如果是采用Java视频采集,则需要设置Surface的CallBack
      if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
       myView.getHolder().addCallback(AnyChatCoreSDK.mCameraHelper);   
      }
      // 如果是采用Java视频显示,则需要设置Surface的CallBack
      if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
       int index = anychat.mVideoHelper.bindVideo(otherView.getHolder());
       anychat.mVideoHelper.SetVideoUser(index, userID);
      }
      
      refreshAV();
      bOnPaused = false;
     }
     @Override
     protected void onResume() {
              
      super.onResume();
     }
     @Override
     protected void onPause() {
      super.onPause();
      bOnPaused = true;
      anychat.UserCameraControl(userID, 0);
      anychat.UserSpeakControl(userID, 0);
         anychat.UserCameraControl(-1, 0);
         anychat.UserSpeakControl(-1, 0);
      anychat.PrivateChatExit(userID);
      
     }
     protected void onDestroy() {
//      super.onDestroy();
//      mTimer.cancel();
//      anychat.Logout();
      mTimer.cancel();
      
      anychat.mSensorHelper.DestroySensor();
      anychat.PrivateChatExit(userID);
      anychat.LeaveRoom(-1);
      SendMessageToFWQ("11");
      anychat.Logout();
      anychat.Release();
      //android.os.Process.killProcess(android.os.Process.myPid());
      super.onDestroy();
      finish();
     }
     
      //发消息给服务器
     public void SendMessageToFWQ(String str){
      Log.v("22222222", "SendMessage--------"+str);
      byte[] msg = new String (str).getBytes();
      anychat.TransBuffer(userID, msg, msg.length);
      Log.v("55555", "SendMessage--发送成功------"+str);
     }
     
     @Override
     public void OnAnyChatConnectMessage(boolean bSuccess) {
      if(!bSuccess){
       Toast.makeText(OnlineMonitoringActivity.this, "连接服务器失败,自动重连,请稍后...", Toast.LENGTH_SHORT).show();
      }
      anychat.Login("daiwei", ""); // 服务器连接成功 用户登录
      
     }
     @Override
     public void OnAnyChatLoginMessage(int dwUserId, int dwErrorCode) {
      if(dwErrorCode==0){
       Toast.makeText(this, "登录成功!", Toast.LENGTH_SHORT).show();
       //SendMessageToFWQ("10");
       anychat.EnterRoom(1, ""); // 用户登录成功 进入房间,1为房间编号  第二个参数为密码,可以为空
          }else {
           Toast.makeText(this, "登录失败,错误代码:" + dwErrorCode, Toast.LENGTH_SHORT).show();   
          }
     }
     @Override
     public void OnAnyChatEnterRoomMessage(int dwRoomId, int dwErrorCode) {
       if (dwErrorCode == 0) {                     // 进入房间成功  打开本地音视频   
                Toast.makeText(this, "进入房间成功", Toast.LENGTH_SHORT).show();   
                anychat.UserCameraControl(-1, 1);       // 打开本地视频   
                anychat.UserSpeakControl(-1, 1);        // 打开本地音频   
               // anychat.UserCameraControl(userID, 1);
             } else {   
                Toast.makeText(this, "进入房间失败,错误代码:" + dwErrorCode, Toast.LENGTH_SHORT).show();   
            }  
      
     }
     @Override
     public void OnAnyChatOnlineUserMessage(int dwUserNum, int dwRoomId) {
      refreshAV();
      
     }
     @Override
     public void OnAnyChatUserAtRoomMessage(int dwUserId, boolean bEnter) {
      if (dwUserId == userID) {
       if (!bEnter) {
        anychat.UserCameraControl(dwUserId, 0);
        anychat.UserSpeakControl(dwUserId, 0);
        bOtherVideoOpened = false;
       } else {
        anychat.UserCameraControl(dwUserId, 1);
        anychat.UserSpeakControl(dwUserId, 1);
       }
      }
     }
     @Override
     public void OnAnyChatLinkCloseMessage(int dwErrorCode) {
      if(bOtherVideoOpened)
      {
       anychat.UserCameraControl(userID, 0);
       anychat.UserSpeakControl(userID, 0);
       bOtherVideoOpened = false;
      }
      if(bSelfVideoOpened)
      {
       anychat.UserCameraControl(-1, 0);
       anychat.UserSpeakControl(-1, 0);
       bSelfVideoOpened = false;
      }
      
     }
     public void onClick(View v){
            if (v == mCameraSwitchImage) {
       // 如果是采用Java视频采集,则在Java层进行摄像头切换
       if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER) == AnyChatDefine.VIDEOCAP_DRIVER_JAVA) {
        AnyChatCoreSDK.mCameraHelper.SwitchCamera();
        return;
       }
       String strVideoCaptures[] = anychat.EnumVideoCapture();
       ;
       String temp = anychat.GetCurVideoCapture();
       for (int i = 0; i < strVideoCaptures.length; i++) {
        if (!temp.equals(strVideoCaptures[i])) {
         anychat.UserCameraControl(-1, 0);
         bSelfVideoOpened = false;
         anychat.SelectVideoCapture(strVideoCaptures[i]);
         anychat.UserCameraControl(-1, 1);
         break;
        }
       }
      }
     }
     
     @Override
     public void OnAnyChatTransFile(int dwUserid, String FileName,
       String TempFilePath, int dwFileLength, int wParam, int lParam,
       int dwTaskId) {
      // TODO Auto-generated method stub
      
     }
     @Override
     public void OnAnyChatTransBuffer(int dwUserid, byte[] lpBuf, int dwLen) {
      //String serverID = Config.getProperty("serverID");
      String result = new String(lpBuf);
      AlertDialog.Builder builder = new AlertDialog.Builder(OnlineMonitoringActivity.this);
      builder.setCancelable(false);//键盘退建无效
      if (result.equals("10")) {
       //Toast.makeText(this, "返回的东西:" + result, Toast.LENGTH_SHORT).show();
       //AlertDialog.Builder builder = new AlertDialog.Builder(OnlineMonitoringActivity.this);
       builder.setTitle("请求来了");
       builder.setMessage("有人请求你视频,你确定接收吗?");
      
       builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
         Toast.makeText(OnlineMonitoringActivity.this, "返回的东西:" + "222222", Toast.LENGTH_SHORT).show();
         isbegin = true;
         loadSelf = true;
         SendMessageToFWQ("12");
         openOnther();
        }
       });
       builder.setNegativeButton("取消",  new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int which) {
         SendMessageToFWQ("13");
         dialog.cancel();
         
        }
        
       });
       AlertDialog alertDialog = builder.create();
       alertDialog.show();
      }else if(result.equals("11")){
       builder.setMessage("已经录制完毕!");
       builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       dialog.cancel();
      }
     });
       AlertDialog alertDialog = builder.create();
       alertDialog.show();
      }else{
      
      }
     }
     @Override
     public void OnAnyChatTransBufferEx(int dwUserid, byte[] lpBuf, int dwLen,
       int wparam, int lparam, int taskid) {
      // TODO Auto-generated method stub
      
     }
     @Override
     public void OnAnyChatSDKFilterData(byte[] lpBuf, int dwLen) {
      // TODO Auto-generated method stub
      
     }
     
      public String setIpText() throws IOException{
      FileInputStream inputStream = openFileInput("iptext.txt");
      byte[] data = readFile(inputStream);
      return new String(data);
     
           }
      
       public byte[] readFile(InputStream inputStream) throws IOException{
        int len = 0;
        byte[] buffer = new byte[1024];
        ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
        while((len = inputStream.read(buffer))!=-1){
         outputStream.write(buffer, 0, len);
        }
        outputStream.close();
        return outputStream.toByteArray();
       }
     
     // 根据配置文件配置视频参数
     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_STREAM_SMOOTHPLAYMODE, configEntity.smoothPlayMode);
      // 视频采集驱动设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_CAPDRIVER, configEntity.videoCapDriver);
      // 本地视频采集偏色修正设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_LOCALVIDEO_FIXCOLORDEVIA, configEntity.fixcolordeviation);
      // 视频显示驱动设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL, configEntity.videoShowDriver);
      // 音频播放驱动设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_AUDIO_PLAYDRVCTRL, configEntity.audioPlayDriver);
      // 音频采集驱动设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_AUDIO_RECORDDRVCTRL, configEntity.audioRecordDriver);
      // 视频GPU渲染设置
      AnyChatCoreSDK.SetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_GPUDIRECTRENDER, configEntity.videoShowGPURender);
     }

}

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

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
沙发
发表于 2013-10-31 09:13:17 | 只看该作者
你好。在你的第一个actvity的oncreate中调用anychat.InitSdk,在ondestory的时候anychat.Release和android.os.Process.killProcess(android.os.Process.myPid());
回复 支持 反对

使用道具 举报

11

主题

30

帖子

133

积分

注册会员

Rank: 2

积分
133
板凳
 楼主| 发表于 2013-10-31 09:15:22 | 只看该作者
廖斌 发表于 2013-10-31 09:13
你好。在你的第一个actvity的oncreate中调用anychat.InitSdk,在ondestory的时候anychat.Release和android.o ...

不能将初始化anychat.InitSdk和android.os.Process.killProcess(android.os.Process.myPid());写在一个activity里面吗?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
地板
发表于 2013-10-31 09:17:56 | 只看该作者
great流浪 发表于 2013-10-31 09:15
不能将初始化anychat.InitSdk和android.os.Process.killProcess(android.os.Process.myPid());写在一个ac ...

可以,都放在你工程的第一个activity中
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
5#
发表于 2013-10-31 09:18:55 | 只看该作者
廖斌 发表于 2013-10-31 09:17
可以,都放在你工程的第一个activity中

第二个activity可以做连接、登录、进入房间、视频的操作
回复 支持 反对

使用道具 举报

11

主题

30

帖子

133

积分

注册会员

Rank: 2

积分
133
6#
 楼主| 发表于 2013-10-31 09:28:48 | 只看该作者
那么anychat.SetBaseEvent(this);
                          anychat.SetTransDataEvent(this);也要在第一个activity里面吗?
回复 支持 反对

使用道具 举报

5

主题

1269

帖子

3677

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3677
7#
发表于 2013-10-31 09:30:48 | 只看该作者
great流浪 发表于 2013-10-31 09:28
那么anychat.SetBaseEvent(this);
                          anychat.SetTransDataEvent(this);也要在第一个activity里面吗?

这个是设置基本事件和传输数据的接收,在你需要接收的地方设置。如果你需要在第二个actviity中接收的话,在第二个actvity中设置就行了,第一个activity可以不用设置。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-8 07:00 , Processed in 0.138469 second(s), 21 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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