2011-08-06 2 views
1

NS2에서 .wav 파일을 읽고 gsm으로 인코딩 한 다음 네트워크를 통해 전송합니다. 나는 이미 .wav를 읽고, gsm으로 인코딩하고 하드 드라이브에 저장하는 (테스트를 거쳤으며, 잘 작동하는) 애플리케이션을 만들었습니다. 이제는 네트워크 시뮬레이터 2를 확장하는 작업을 시도하고 av_open_input_file에 문제가 있습니다. av_open_input_file은 그러한 파일이 없습니다. gsm 인코딩 응용 프로그램에서 해당 파일에 문제가 없었습니다. 이 호출은 내가 사용 libav 분명히 파일 프로토콜의 일종을 사용하기 때문에 앞에 : av_open_input_file은 -2를 반환하지만 파일은 존재합니다 (NS2의 libav)

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

이미 경로, 절대 경로, 상대 경로를 하드 코딩하고 "// 파일을"퍼팅, 다른 파일을 시도했다. 그럼 난과 함께 자신을 파일을 여는 시도 :

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

같은 파일을 여는 아무런 문제가, 모든 것이 괜찮을 것 같다 (av_open_input_file에 의해 호출하도록되어 libav의 file.c는이 전화를 발견) 그래서 지금 나는 그 밖의 무엇이 잘못 될 수 있는지 전혀 모른다.

제안 사항?

안부, 는

답변

3

문제 해결 florencka. av_open_input_file을 호출하기 전에 av_register_all()이 누락되었습니다. 그래도 경고 나 오류는 없었습니다.

+0

어떻게 경고 했습니까? :) – mmoment