如何从android上的FM广播源获取pcm?(How to get pcm from fm radio source on android?)

编程入门 行业动态 更新时间:2024-10-28 19:28:33
如何从android上的FM广播源获取pcm?(How to get pcm from fm radio source on android?)

我尝试以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,我可以从麦克风获取数据。 我做错了什么?

I try to get raw data in PCM format form fm radio source. I do this:

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();

and when I call in a loop:

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

the value in ret is 0 and buffer is empty. But if I change AudioSource.FM_RX to AudioSource.MIC I can get data form microphone. What I do wrong?

最满意答案

AudioSource.FM_RX可能通过CyanogenMod提供,但不能在标准API中使用( 参见例如此问题 )。

AudioSource.FM_RX might be available via CyanogenMod but not in the standard API (see e.g. this question).

更多推荐

本文发布于:2023-08-03 17:51:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1395666.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:pcm   FM   android   source   radio

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!