李老师:
学生编写了test.c后执行报错如下:Failed to open audio device, [-1330794744]Protocol not found,好像是找不到音频设备
但webrtc能找到。麻烦李老师指点一下问题出在哪里?
学生的test.C代码如下:
#include "test.h"
void haha(){
int ret = 0;
char errors[1024] = {0,};
AVFormatContext *fmt_ctx = NULL;
AVDictionary *options = NULL;
char *devicename = "hw:0,0";
avdevice_register_all();
AVInputFormat *iformat = av_find_input_format("alsa");
ret = avformat_open_input(&fmt_ctx,devicename,iformat,&options);
if(ret < 0){
av_strerror(ret,errors,1024);
printf("Failed to open audio device, [%d]%s\n", ret, errors);
return;
}
av_log_set_level(AV_LOG_DEBUG);
av_log(NULL,AV_LOG_DEBUG,"Hello World!\n");
return;
}
int main(int argc,char* argv[]){
haha();
return 0;
}
test.h 代码如下:
#ifndef test_h
#define test_h
#include <stdio.h>
#include "libavutil/avutil.h"
#include "libavdevice/avdevice.h"
#include "libavformat/avformat.h"
void haha(void);
#endif
编译如下:
gcc -g -o test test.c -I /usr/local/ffmpeg/include -L /usr/local/ffmpeg/lib -lavutil -lavdevice -lavformat
编译成功了 test 执行文件