为什么我从音频记录的输出中得到的只有零?

马文

我想使用AudioTrack播放声音,并同时使用AudioRecord进行录制。但是我什么也得不到,除了零。为什么?

我试图从byte[]缓冲区读取数据,但得到的全部为零。这是我的代码:

import java.io.BufferedOutputStream;
import java.io.DataOutputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Time;
import java.util.Timer;
import java.util.TimerTask;

import android.media.AudioFormat;
import android.media.AudioRecord;
import android.media.MediaRecorder;

public class RecordThread implements Runnable {

private static final int Encording = AudioFormat.ENCODING_PCM_16BIT; //Data size for each frame = 16 bytes
private static final int Sample_rate = 8000;                         //Sample rate = 8000 HZ
private static final int Channel = AudioFormat.CHANNEL_IN_MONO;      //Set as single track
public static final int Buffersize = AudioRecord.getMinBufferSize(Sample_rate, Channel, Encording); //Buffer size
@Override
public void run() {
    // TODO Auto-generated method stub

    AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,Sample_rate, Channel, Encording, Buffersize);
    while(MessageUsed.RecordPermit){
    try {
        FileOutputStream ops = new FileOutputStream(TestoOFDMMain.file2);
        BufferedOutputStream bos = new BufferedOutputStream(ops);
        DataOutputStream dos = new DataOutputStream(bos);

        byte[] buffer = new byte[Buffersize]; 


            audioRecord.startRecording();   //Start Recording
            int bufferReadResult = audioRecord.read(buffer, 0, buffer.length);  //Read Array size
            MessageUsed.RecordStop = false;
            /*Write Data to file*/
            for(int i=0;i<bufferReadResult;i++){
                dos.write(buffer[i]);
            System.out.println(buffer[i]);  
                if(MessageUsed.ProcessPermit == true){
                        break;
                    }
                }

        audioRecord.stop();
        dos.close();
        MessageUsed.RecordStop = true;
        Thread.sleep(300);
        MessageUsed.ProcessStart = true;

        Thread.sleep(900);

    } catch (FileNotFoundException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    }
}
}
parker_codes

我一眼就认为您的System.out.println()陈述不允许出现结果。那是一个基本的Java表达式,而不是Android Java。您看到0可能是您正在查看的任何字段的默认值。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我在模型摘要输出中得到NA?带有glmmTMB()的零膨胀GLMM

来自分类Dev

为什么在扫描文件中的单词时得到零输出?

来自分类Dev

为什么我没有得到NSString的输出

来自分类Dev

为什么我没有得到想要的输出?

来自分类Dev

为什么我没有得到任何输出?

来自分类Dev

为什么我没有得到任何输出

来自分类Dev

为什么我没有得到正确的乘法输出?

来自分类Dev

为什么我没有得到任何输出

来自分类Dev

为什么我从带有负数的模运算中得到错误的输出

来自分类Dev

为什么我在这段代码中没有得到正确的输出?

来自分类Dev

有人可以解释为什么我在 Python 中得到这个输出吗?

来自分类Dev

Python:为什么我在列表输出中得到u'?

来自分类Dev

为什么我在准备好的语句中得到“只有变量应该通过引用传递”

来自分类Dev

为什么我得到数据模型错误只有具体类型才能符合协议

来自分类Dev

为什么我没有得到任何输出,对于我在链表中插入的代码?

来自分类Dev

为什么我得到这个输出

来自分类Dev

为什么我得到输出“ 5”?

来自分类Dev

为什么我得到此输出?爪哇

来自分类Dev

为什么我得到 7 作为输出?

来自分类Dev

为什么我得到这个错误的输出?

来自分类Dev

为什么我得到这个错误的输出?

来自分类Dev

为什么我的输出为零?

来自分类Dev

为什么我的函数输出0(零)?

来自分类Dev

为什么我的程序输出为零?

来自分类Dev

为什么我在GNU Radio的VCO块中只能得到零?

来自分类Dev

为什么由于这种划分,我在特定行中得到零?

来自分类Dev

为什么只有键 len 的字典为零?

来自分类Dev

为什么我总是得到零时差?

来自分类Dev

为什么除非设置断点,否则我没有得到期望的输出?

Related 相关文章

  1. 1

    为什么我在模型摘要输出中得到NA?带有glmmTMB()的零膨胀GLMM

  2. 2

    为什么在扫描文件中的单词时得到零输出?

  3. 3

    为什么我没有得到NSString的输出

  4. 4

    为什么我没有得到想要的输出?

  5. 5

    为什么我没有得到任何输出?

  6. 6

    为什么我没有得到任何输出

  7. 7

    为什么我没有得到正确的乘法输出?

  8. 8

    为什么我没有得到任何输出

  9. 9

    为什么我从带有负数的模运算中得到错误的输出

  10. 10

    为什么我在这段代码中没有得到正确的输出?

  11. 11

    有人可以解释为什么我在 Python 中得到这个输出吗?

  12. 12

    Python:为什么我在列表输出中得到u'?

  13. 13

    为什么我在准备好的语句中得到“只有变量应该通过引用传递”

  14. 14

    为什么我得到数据模型错误只有具体类型才能符合协议

  15. 15

    为什么我没有得到任何输出,对于我在链表中插入的代码?

  16. 16

    为什么我得到这个输出

  17. 17

    为什么我得到输出“ 5”?

  18. 18

    为什么我得到此输出?爪哇

  19. 19

    为什么我得到 7 作为输出?

  20. 20

    为什么我得到这个错误的输出?

  21. 21

    为什么我得到这个错误的输出?

  22. 22

    为什么我的输出为零?

  23. 23

    为什么我的函数输出0(零)?

  24. 24

    为什么我的程序输出为零?

  25. 25

    为什么我在GNU Radio的VCO块中只能得到零?

  26. 26

    为什么由于这种划分,我在特定行中得到零?

  27. 27

    为什么只有键 len 的字典为零?

  28. 28

    为什么我总是得到零时差?

  29. 29

    为什么除非设置断点,否则我没有得到期望的输出?

热门标签

归档