【ffmpeg基础知识】ffmpeg操作目录实现list
打开文件夹:avio_open_dir()
读取文件夹:avio_read_dir()
关闭文件夹:avio_close_dir()
结构体, 操作目录的上下文:AVIODirContext()
目录项,用于存放文件名,文件大小等信息:AVIODirEntry()
include <libavutil/log.h> #include <libavformat/avformat.h> int main(int argc,char *argv[]) { int ret; //文件上下文使用ctx进行连接 AVIODirContext *ctx=NULL; AVIODirEntry *entry=NULL; //设置错误显示等级 av_log_set_level(AV_LOG_INFO); ret=avio_open_dir(&ctx,"./",NULL); if(ret < 0){ av_log(NULL,AV_LOG_ERROR,"can not find dir %s\n",av_err2str(ret)); return -1; } while(1){ ret = avio_read_dir(ctx,&entry); if(ret < 0){ av_log(NULL,AV_LOG_ERROR,"cant not find dir %s\n",av_err2str(ret)); //防止内存泄漏进行关闭 goto __fail; } if(!entry){ break; } av_log(NULL,AV_LOG_INFO,"%12"PRId64"%s \n", entry->size, entry->name); avio_free_directory_entry(&entry); } __fail: avio_close_dir(&ctx); return 0; }