2011-08-22 7 views
1

나는 FMOD와 같은 비교적 간단한 작업이 될 것이라고 생각했지만 작동시키지 못했습니다. 예제 코드 넷 스트림조차도 그 트릭을 수행하지 않는 것 같습니다. netstream 예제 프로그램으로 재생하려고하는 mp3에 관계없이이 오류가 발생합니다.FMOD가 포함 된 인터넷에서 MP3 스트리밍

FMOD error! (20) Couldn't perform seek operation. This is a limitation of the medium (ie netstreams) or the file format. 

나는 이것이 실제로 무엇을 의미하는지 이해하지 못합니다. 이것이 정확히 넷 스트림 예제 프로그램의 목적이 아닌가? 인터넷에서 일부 파일을 스트리밍 하시겠습니까?

나는 createSound 방법

을 전달받을 수 없습니다

result = system->createSound(argv[1], FMOD_HARDWARE | FMOD_2D | FMOD_CREATESTREAM | FMOD_NONBLOCKING, 0, &sound); 

편집 :

이것은 내가 두 가지 오류를 얻을

FMOD_CREATESOUNDEXINFO soundExInfo; 
memset(&soundExInfo, 0, sizeof(FMOD_CREATESOUNDEXINFO)); 
soundExInfo.cbsize = sizeof(FMOD_CREATESOUNDEXINFO); 
soundExInfo.suggestedsoundtype = FMOD_SOUND_TYPE_MPEG; 

result = system->createSound(argv[1], FMOD_HARDWARE | FMOD_2D | FMOD_CREATESTREAM | FMOD_NONBLOCKING | FMOD_IGNORETAGS, &soundExInfo, &sound); 

매튜의 대답 읽은 후 수정 된 것입니다 내가 사용하는 파일에 따라.

테스트 1 URL : http://kylegobel.com/test.mp3

테스트 1 오류 : (25) 지원되지 않는 파일이나 오디오 형식입니다.


테스트 2 URL : http://kylegobel.com/bullet.mp3

테스트 2 오류 : (20) 작업을 추구 수행 할 수 없습니다. 이것은 매체 (즉, 넷 스트림) 또는 파일 형식의 한계입니다.

변경하기 전에 netstream을 사용하여 웹에서 test.mp3이라는 파일과 동일한 "C : \ test.mp3"을 재생할 수 있었지만 위의 변경 사항으로는 더 이상 작동하지 않습니다. 어쩌면이 파일들은 잘못된 형식 일 수도 있습니다. 이 분야에 대한 지식 부족으로 유감스럽게 생각합니다. 소리에 대해 많이 알지 못하지만 그것을 파악하려고합니다.

감사합니다, 카일

답변

3

FMOD는 다음을 읽고 그것이 넷 스트림이기 때문에 그것을 할 수없는 다시 시작에 (구하려고 그래서는 MP3가 시작시 태그의 많은 양이 가능). FMOD_IGNORETAGS와 FMOD_CREATESOUNDEXINFO를 suggestsoundtype을 FMOD_SOUND_TYPE_MPEG로 설정하여 사용해 볼 수 있습니까?

작동하지 않는 경우 작동하지 않는 알려진 MP3 스트림에 URL을 게시 할 수 있습니까?

EDIT : 해당 파일의 태그 데이터는 약 60KB이며, FMOD는 해당 내용을 읽으면 기꺼이 들지만 MPEG 코덱이 작동하려면 작은 탐색을해야합니다. netstream을 찾을 수 없으므로 모든 탐색은 저수준 파일 버퍼 안에 포함되어야합니다. 파일 버퍼 크기를 조정하면 조금 더 크게 만들어이 제한을 극복 할 수 있습니다. System :: setFileSystem "blockalign"매개 변수를 참조하십시오.

+0

귀하의 요청에 따라 편집했는데, 로컬에서 파일을 재생할 때 왜 작동하는지 알 수 있습니까? http://mysite.com/test.mp3이 아닌 c : \ test.mp3을 좋아합니까? –

+0

제안 된 형식은 MPEG (태그 코덱을 건너 뜁니다)이며 MPEG는 오디오를 찾는 데 4k 개의 데이터 만 검색하므로 실패합니다. 이 문제를 해결하기 위해 FMOD_MPEGSEARCH를 사용할 수 있습니다. 또한 파일 응답을 위해 내 대답을 편집했습니다. –

관련 문제