嵌入式设备中经常需要用的音频,音频设备最原始的数据格式就是PCM,也就是大家常见的WAV,在linux中,音频编程使用最多的就是alsa框架,下面就来看一下pcm音频的编程实例吧。
首先需要包含头文件:
#include <alsa/asoundlib.h>
定义产量与结构体
snd_pcm_t *alsaplayhdl;
snd_pcm_t *alsacapturehdl;
snd_mixer_t *mixerfd;
snd_mixer_elem_t *elem;
pthread_mutex_t alsa_play_mutex;
pthread_mutex_t alsa_cap_mutex;
snd_pcm_hw_params_t *dispalsa_hwparams;
snd_pcm_sw_params_t *dispalsa_swparams;
snd_pcm_hw_params_t *capturehwparams;
snd_pcm_sw_params_t *captureswparams;
定义设备号:
#define ALSADEVNAME "default"
打开设备:
void open_dev(void)
{
int ret = -1;
ret = snd_pcm_open(&alsaplayhdl,ALSADEVNAME,SND_PCM_STREAM_PLAYBACK,0);
if(ret &l