如何从 android 上的调频广播源获取 pcm?
Posted
技术标签:
【中文标题】如何从 android 上的调频广播源获取 pcm?【英文标题】:How to get pcm from fm radio source on android? 【发布时间】:2014-02-11 07:07:07 【问题描述】:我尝试从调频广播源中获取 PCM 格式的原始数据。我这样做:
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】:AudioSource.FM_RX
可能通过 CyanogenMod 提供,但不在标准 API (see e.g. this question) 中。
【讨论】:
以上是关于如何从 android 上的调频广播源获取 pcm?的主要内容,如果未能解决你的问题,请参考以下文章