读取返回-35,按照群里的sleep未解决,并且程序终止了
来源:6-9 从音频设备中读取音频数据

慕粉4406375
2022-01-07
av_log_set_level(AV_LOG_DEBUG);
int ret = 0;
AVFormatContext *context = NULL;
AVDictionary *options = NULL;
char *devicename = ":0";
char err[1024];
avdevice_register_all(); //申请设备
const AVInputFormat *avformat = av_find_input_format("avfoundation");
//打开音频设备
ret = avformat_open_input(&context, devicename, avformat, &options);
if (ret <0) {
av_strerror(ret, err, 1024);
printf("err is %s",err);
}
//读取
AVPacket pkt;
av_init_packet(&pkt);
int re =0;
while ( re = av_read_frame(context, &pkt) ) {
printf("re is 。。。 %d\n",re);
if(re == -35){
sleep(3);
continue;
}
}
av_packet_unref(&pkt);
return;
这是我按照群里的解答改过的,依然无法读取数据,
控制台打印如下
[avfoundation @ 0x154f45f40] audio device ‘外置麦克风’ opened
re is 。。。 -35
然后程序handle住了一样,不再执行
写回答
1回答
-
李超
2022-01-09
单步调试一下,看在哪儿卡住了?
022022-01-10
相似问题