ffmpeg中avcodec_open的问题(急)

xiaomeng008 2011-11-24 11:18:28
我现在想要解码一个音频文件,前期的parser不是用的ffmpeg的
只是后期的解码器想要用ffmpeg的;
我现在遇到的问题是,每次打开解码器都失败,请教为什么呢?
上代码:

// 1. find decoder
mpCodec = avcodec_find_decoder(CODEC_ID_ALAC);
if (mpCodec == NULL) {
LOGE("find codec failed");
return;
} else {
LOGE("find codec successfully");
}

mpCodecContext = avcodec_alloc_context(); //这个结构体,还需要初始化其他的参数来打开解码器吗?
// 2 open codec
if (avcodec_open(mpCodecContext, mpCodec) < 0) {
LOGE("Open codec failed");
return;
} else {
LOGE("Open codec successfully");
}
...全文
797 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
无名码农 2013-11-21
  • 打赏
  • 举报
回复
楼主请问你怎么解决了这个问题,我遇到了和你一样的问题。
zxkang 2013-10-16
  • 打赏
  • 举报
回复
// 1. find decoder mpCodec = avcodec_find_decoder(CODEC_ID_ALAC); if (mpCodec == NULL) { LOGE("find codec failed"); return; } else { LOGE("find codec successfully"); } mpCodecContext = avcodec_alloc_context(mpCodec); //<span style="color: #FF0000;">这个结构体,还需要初始化其他的参数来打开解码器吗?</span> // 2 open codec if (avcodec_open(mpCodecContext, mpCodec) < 0) { <span style="color: #FF0000;">LOGE("Open codec failed");</span> return; } else { LOGE("Open codec successfully"); } 最近也在看这个,提下自己的发现如下,希望对后来者有点帮助: 红色标记处的作用是确定codecCtx,你没有给出使用的codec啊!
arney 2012-01-10
  • 打赏
  • 举报
回复
怎么搞定的?
xiaomeng008 2011-12-07
  • 打赏
  • 举报
回复
搞定了,散分~
fancycow 2011-11-29
  • 打赏
  • 举报
回复
怎么初始化的参数?
diffmaker 2011-11-25
  • 打赏
  • 举报
回复
好像你迷路了,:)
xiaomeng008 2011-11-25
  • 打赏
  • 举报
回复
大牛帮忙阿,多谢

2,275

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计/Flash/Silverlight 开发 Flash流媒体开发
社区管理员
  • Flash流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧