2011-08-06 20 views
1

我嘗試在NS2中進行仿真,其中我讀入.wav文件,編碼成gsm並通過網絡發送它們。我已經設法制作一個讀入.wav的應用程序,編碼成gsm並存儲在硬盤上(測試過,工作正常)。現在我嘗試做同樣的擴展網絡模擬器2,我有一個問題,av_open_input_file不斷說沒有這樣的文件,雖然我在我的gsm編碼應用程序中沒有該文件的問題。呼叫我使用:av_open_input_file返回-2,但文件存在(在NS2中的libav)

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

已經嘗試過不同的文件,硬編碼的路徑,絕對路徑,相對路徑,並把「文件://」在前面,因爲libav顯然使用了某種形式的文件協議。然後我試圖打開文件自己:

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

(發現libav的file.c這個調用應該由av_open_input_file調用)與像打開該文件沒有任何問題,一切似乎是確定,所以現在我不知道還有什麼可能是錯的。

有什麼建議嗎?

最好的問候, florencka

回答

3

問題解決了。在調用av_open_input_file之前,av_register_all()缺失。雖然沒有警告或錯誤。

+0

它怎麼會警告你:) – mmoment

相關問題