linux录制远程麦克风声音,在Linux上录制麦克风到wav或mp3文件?

Niki Yoshiuc..

5

它当然是可能的,但它并不像从文件中读取那么简单.最简单的方法是使用一个库,例如PortAudio.PortAudio是跨平台的,使用起来相当简单.

PortAudio将允许您从麦克风录制,但它对文件格式一无所知.为此你需要另一个图书馆.我从来没有使用它,但libsndfile库可能会做你需要的.

在任何情况下,您都必须从麦克风录制并将数据存储在缓冲区中,然后将该缓冲区写入文件(通过libsndfile或类似的东西).

编辑:示例PortAudio的东西(未经测试,但你应该明白).

int main()

{

PaStream *stream;

/* allocate a buffer that can hold 30 seconds of audio at 44,100Hz */

int len = 44100*30;

float *buffer = malloc(len*sizeof(float));

Pa_Initialize();

/* open a default input (microphone) stream with a sampling rate of 44,100Hz */

Pa_OpenDefaultStream(&stream, 1, 0, paFloat32, 44100, paFramesPerBufferUnspecified, NULL, NULL);

Pa_StartStream(stream);

Pa_ReadStream(stream, buffer, len);

/* write buffer to a file here */

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值