FFmpeg版本:3.3.2
我尝试使用流来获取歌词,但那不可能。
代码:
AVFormatContext* fmt_ctx = NULL;
int ret;
av_register_all();
if ((ret = avformat_open_input(&fmt_ctx, "media path", NULL, NULL))){
printf("Fail to open file");
return;
}
if (fmt_ctx->iformat->read_header(fmt_ctx) < 0) {
printf("No header format");
return;
}
for (uint i = 0; i < fmt_ctx->nb_streams; i++){
auto stream=fmt_ctx->streams[i];
if(stream->disposition==AV_DISPOSITION_LYRICS){
printf("lyrics!");//"will not print"
}
}
答案 0 :(得分:0)
流disposition
是一个位字段,因此尝试没有严格的相等性。条件应该是:
stream->disposition & AV_DISPOSITION_LYRICS