解决方案 »

  1.   

    stopSpeaking();中干了什么?你可以做成类似微信的按住才能说话...
      

  2.   


    确实有时候是麦克风没有释放,但是出现这问题一般都是第一次登陆出现的,闪退后再登陆就不会出现这个问题了所以你把详细的log贴出来吧
      

  3.   

    private void stopSpeaking()
        {
            if (isSpeaking)
            {
                isSpeaking = false;
                chatButton.setPressed(false);
                if (refshUI != null)
                {
                    refshUI.stopthread();
                }
                micoInfo.setText("");
                recorder.stopRecord();
                TcpWrapper.sendCommand(Constant.TYPE_REALASE_MIC);
            }
        }
      

  4.   


    log就报了一个错误:Fatal signal 8 (SIGFPE) at 0x0000067d (code=-6), thread 1934 (Thread-9866)
      

  5.   


    log就报了一个错误:Fatal signal 8 (SIGFPE) at 0x0000067d (code=-6), thread 1934 (Thread-9866)是全部的,不要过滤tag的
      

  6.   


    log就报了一个错误:Fatal signal 8 (SIGFPE) at 0x0000067d (code=-6), thread 1934 (Thread-9866)是全部的,不要过滤tag的全部的是指什么,可以留个QQ联系一下么?解决的话10QB奉上
      

  7.   


    log就报了一个错误:Fatal signal 8 (SIGFPE) at 0x0000067d (code=-6), thread 1934 (Thread-9866)是全部的,不要过滤tag的全部的是指什么,可以留个QQ联系一下么?解决的话10QB奉上公司禁Q, 就是logcat里的all message
      

  8.   


    http://img.bbs.csdn.net/upload/201407/29/1406613099_154136.jpg
      

  9.   

    闪退肯定是程序崩溃了 但是你拿不到崩溃的日志信息 你的 程序的异常处理代码 没有打印崩溃的日志信息, 建议  打印崩溃日志信息  exception.printStackTrace(); 先定位出错位置
      

  10.   


    请问我要在哪个位置打印呢 ?我试过在点击按钮处catch,按钮的MotionEvent.ACTION_DOWN:里边catch,都没有用啊
      

  11.   

    SIGFPE是当一个进程执行了一个错误的算术操作时发送给它的信号。
    http://zh.wikipedia.org/wiki/SIGFPE
    看看/data/tombstone/下面有没有出错时候的调用栈信息。
      

  12.   


    请问我要在哪个位置打印呢 ?我试过在点击按钮处catch,按钮的MotionEvent.ACTION_DOWN:里边catch,都没有用啊在 catche 代码块里面 打印出 默认的 那个方法, e.printStackTrace(), 就是跟一下 在哪崩溃的
      

  13.   


    确实有时候是麦克风没有释放,但是出现这问题一般都是第一次登陆出现的,闪退后再登陆就不会出现这个问题了我看了楼下的评论,估计他们没遇到过这个错误。闪退的错误信息确实只有这一条,我的测试机型是小米2s,做的应用也是用到了mic录音,我想应该是安卓录音的问题。我建议你换一个机型测试一下。
      

  14.   


    问题我今天已经确定了,是我有两条线程,一条录音,一条播放,同时启动的,问题出在播放录音这条线程中,我使用的代码是:
    public static LinkedBlockingDeque<ShortBuffer> recordedQueue = new LinkedBlockingDeque<ShortBuffer>();
    private short[] buffer = new short[Config.FRAME_SIZE];
    int result = audioRecord.read(buffer, 0, Config.FRAME_SIZE);//ps:Config.FRAME_SIZE=480
    ShortBuffer sb = ShortBuffer.allocate(result);
    sb.put(buffer, 0, result);
    recordedQueue.put(sb);
    现在就是如果我注释掉最后一行代码,录音正常,也不闪退,但是别人不能听见我的声音,如果使用最后一行代码就会出现错误!
      

  15.   

    问题我今天已经确定了,是我有两条线程,一条录音,一条播放,同时启动的,问题出在播放录音这条线程中,我使用的代码是:
    public static LinkedBlockingDeque<ShortBuffer> recordedQueue = new LinkedBlockingDeque<ShortBuffer>();
    private short[] buffer = new short[Config.FRAME_SIZE];
    int result = audioRecord.read(buffer, 0, Config.FRAME_SIZE);//ps:Config.FRAME_SIZE=480
    ShortBuffer sb = ShortBuffer.allocate(result);
    sb.put(buffer, 0, result);
    recordedQueue.put(sb);
    现在就是如果我注释掉最后一行代码,录音正常,也不闪退,但是别人不能听见我的声音,如果使用最后一行代码就会出现错误!
      

  16.   

    问题我今天已经确定了,是我有两条线程,一条录音,一条播放,同时启动的,问题出在播放录音这条线程中,我使用的代码是:
    public static LinkedBlockingDeque<ShortBuffer> recordedQueue = new LinkedBlockingDeque<ShortBuffer>();
    private short[] buffer = new short[Config.FRAME_SIZE];
    int result = audioRecord.read(buffer, 0, Config.FRAME_SIZE);//ps:Config.FRAME_SIZE=480
    ShortBuffer sb = ShortBuffer.allocate(result);
    sb.put(buffer, 0, result);
    recordedQueue.put(sb);
    现在就是如果我注释掉最后一行代码,录音正常,也不闪退,但是别人不能听见我的声音,如果使用最后一行代码就会出现错误!
      

  17.   

    http://www.manong123.com/ 里面有个安卓开发,你看看有例子
      

  18.   

    看下traceview的日志,方法调用结果可以跟踪的