1

我尝试在 NS2 中进行模拟,在其中我读入 .wav 文件,编码为 gsm 并通过网络发送它们。我已经设法制作了一个读取 .wav、编码为 gsm 并存储在硬盘上的应用程序(经过测试,工作正常)。现在我尝试对 Network Simulator 2 进行同样的扩展,我遇到了 av_open_input_file 的问题,它一直说没有这样的文件,尽管我的 gsm 编码应用程序中的那个文件没有问题。我使用的电话:

av_open_input_file(&pFormatCtx, "/home/xxx/audio_samples/audio.wav", NULL, 0, NULL);

已经尝试过不同的文件,硬编码路径、绝对路径、相对路径并将“file://”放在前面,因为 libav 显然使用了某种文件协议。然后我尝试自己打开文件:

int desc = open("/home/xxx/audio_samples/audio.wav", O_RDONLY, 0);

(在应该由 av_open_input_file 调用的 libav 的 file.c 中找到此调用)像这样打开文件没有问题,一切似乎都很好,所以现在我不知道还有什么问题。

有什么建议么?

最好的问候,弗洛伦卡

4

1 回答 1

3

问题解决了。在调用 av_open_input_file 之前缺少 av_register_all()。虽然没有警告或错误。

于 2011-08-07T10:59:22.350 回答