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

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

Moderator: 류광

Locked
비회원

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

Post by 비회원 »

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

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

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

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

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

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

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

진행 방향을 못찾고 헤메는 불쌍한 초보 좀 도와주세요 :cry:
Zeprod
Posts: 480
Joined: 2006-11-04 16:24
Location: Creaty Networks
Contact:

Post by Zeprod »

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

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

Post by walbum »

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

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

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

으로 하던 것을

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

이렇게 바꿔주면 그만.
park
Posts: 189
Joined: 2008-07-30 09:04
Location: bandi

Post by park »

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

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