這段代碼有什麼問題?它在av_find_stream_info處中斷(訪問衝突)。在調試時,ctx-> filename是「3」而不是「1.MP3」:前4個字符被忽略,也檢查其他文件,結果相同。C++ ffmpeg訪問衝突
av_register_all();
AVFormatContext *ctx=0;
ctx=avformat_alloc_context();
avformat_open_input(&ctx,"1.MP3",0,0);
av_find_stream_info(ctx);
int istream;
for(int i=0;i<ctx->nb_streams;i++){
if(ctx->streams[i]->codec->codec_type==AVMEDIA_TYPE_AUDIO){
istream=i;
break;
}
您將永遠無法調試不包含錯誤檢查的代碼。 'avformat_open_input'的返回值是什麼? – 2012-03-29 09:57:02
avformat_open_input返回-2。 – user1288043 2012-03-29 10:11:11