API에서 wav파일 이외의 사운드파일을 재생하는 문제에 대해서 질문드립니다.

2권에서 새로 도입된 오디오 프로그래밍 섹션에 대한 게시판입니다.

운영자: 류광

Locked
비회원

API에서 wav파일 이외의 사운드파일을 재생하는 문제에 대해서 질문드립니다.

전체글 글쓴이: 비회원 » 2009-09-21 17:10

안녕하세요. 날씨가 점점 추워지는데 다들 몸조리 잘 하고 계신지 모르겠네요.

제가 API로 부실한 게임 하나를 만들었는데, 배경음악을 wav파일을 쓰다보니

용량을 너무 많이 잡아먹네요. 가능하다면 mp3나 ogg로 변경하고 싶은데...

변경하려면 어떤 작업들을 해야 하나요?

mp3나 ogg를 재생할 수 있게 하는 dll을 추가해볼까 하는 생각도 해봤었는데,

그렇게 하면 다른 컴퓨터에서 해당 게임을 실행할 때 LAME 같은 프로그램이 설치되어 있어야 소리가

나온다고 하길래 다른 방법은 없는지 알고 싶어서 질문드렸습니다.

진행 방향을 못찾고 헤메는 불쌍한 초보 좀 도와주세요 :cry:

사용자 아바타
Zeprod
전체글: 480
가입일: 2006-11-04 16:24
사는 곳: Creaty Networks
연락처:

전체글 글쓴이: Zeprod » 2009-09-21 17:19

라이브러리만 알려드리자면,

DirectShow로 MP3 플레이가 가능하고, OggVoris로 OGG 플레이가 가능합니다.
세상이 기다리는 나만의 SHOW!
----------------------------------------------
Zeprod 홈 : http://Zeprod.org
Project. Creaty : http://Creaty.net/
Creaty 게임제작 커뮤니티 : http://Creaty.net/game/
----------------------------------------------

walbum
전체글: 30
가입일: 2007-01-08 14:28

전체글 글쓴이: walbum » 2009-09-21 18:26

그냥 ogg라이브러리 붙인 다음에 재생 버퍼 크기만큼씩 디코딩하면서 PCM재생하면 됩니다.
MP3쪽은 잘 모르겠군요. 전 OGG밖에 안 다뤄봐서...

음...뭔가 자세한 설명이 필요할 것 같긴 한데, 딱히 어떻게 더 설명해야 할지...-_-;
어쨌든 ogg라이브러리에서 필요한 부분만 디코딩하여 PCM으로 만들 수 있기때문에 재생기는 wav재생기를 그대로 사용하면서 ogg를 재생할 수 있습니다.

파일 읽어서 -> 바로 재생 버퍼에 넣어서 재생

으로 하던 것을

파일 읽어서 -> ogg라이브러리로 디코딩 -> 재생 버퍼에 넣어서 재생

이렇게 바꿔주면 그만.

park
전체글: 189
가입일: 2008-07-30 09:04
사는 곳: bandi

전체글 글쓴이: park » 2009-09-21 21:15

http://www.bandisoft.com/bandi_audio_library/

를 참고하시면 소스 및 예제를 보실 수 있습니다.

Locked