如何从Android上的FM广播源获取pcm?

时间:2014-02-11 07:07:07

标签: android audio-recording pcm

我尝试以FM格式从fm无线电源获取原始数据。我这样做:

int bufSize = AudioRecord.getMinBufferSize(SAMPLE_RATE_16kHz, AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT);

mRecorder = new AudioRecord(AudioSource.FM_RX, SAMPLE_RATE_16kHz, AudioFormat.CHANNEL_IN_MONO,
        AudioFormat.ENCODING_PCM_16BIT, bufSize);

mBuffer = new short[bufSize / 2];

mRecorder.startRecording();

当我在循环中打电话时:

int ret = mRecorder.read(mBuffer, 0, mBuffer.length);

ret中的值为0,缓冲区为空。 但是,如果我将AudioSource.FM_RX更改为AudioSource.MIC,我可以从麦克风获取数据。我做错了什么?

1 个答案:

答案 0 :(得分:0)

AudioSource.FM_RX可能通过CyanogenMod提供,但不在标准API(see e.g. this question)中提供。