从虚拟设备获取音频数据(playback)
1.加载虚拟输出设备
pacmd load-module module-pipe-sink file=/tmp/output format=s16le rate=44100 channels=2
2.设置虚拟输出设备为默认输出设备
pacmd list-sinks 查看输出设备名称
pacmd set-default-sink fifo_output(虚拟输出设备名称为fifo_output)
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#include <time.h>
#include <sys/time.h>
int dump_pcm_data(char *buf, int buf_size, FILE *fp)
{
int size = 0;
if(fp)
size = fwrite(buf, 1, buf_size, fp);
printf("write pcm size = %d.\n", size);
return size;
}
int read_date_from_fifo(char *buf, int buf_size, int fd_read)
{
int ret = 0;
if(fd_read > 0)
ret = read(fd_read, buf, buf_size