문제

Cross-Platform (Windows, MacOSX 및 Linux의 .NET 및 Mono) 방법을 찾고 있으며 WAV, MP3 또는 OGG 파일을 디코딩하여 원하는대로 DirectSound 또는 Openal을 통해 디코딩 된 스트림을 재생할 수 있습니다.

MP3 또는 OGG를 해독 할 수있는 솔루션은 충분합니다. 두 가지 모두 디코딩이 필요하지 않습니다. IT (또는 다른 솔루션)도 Wav를 해독 할 수 있다면 이상적이지만 Wav 파일을 MP3 또는 OGG로 변환 할 수 있기 때문에 엄격하게 필요하지 않습니다.

WAV 파일 만 해독 할 수있는 솔루션은 부분 솔루션 일뿐 만 아니라 얻을 수있는 것을 가져갑니다. ;-)

내가 이미 보았던 것은 다음과 같습니다.

  • DirectSound와 Alut는 모두 Wav 디코딩을 지원하지만 Alut는 더 이상 사용되지 않았습니다.
  • FFMPEG는 거의 무엇이든 해독 할 것이지만 플랫폼에서 일반적인 안정적인 릴리스가없는 것 같습니다.
  • 나는 아직 csvorbis를 시도하지 않았지만 아주 오래되었고 현재 상태가 무엇인지 잘 모르겠습니다.

당신은 위의 솔루션 중 하나가 실제로 최선의 선택이라는 것을 저에게 추구하려는 것을 환영합니다.

감사.

도움이 되었습니까?

해결책

WAV 파일에 대한 간단한 지원을 위해 MCS/Class/System.Media/Audiodata.cs에서 Mono의 구현을 볼 수 있습니다.http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/system/system.media/).

OGG 오디오 파일을 디코딩하려면 Mono의 SN 서버의 CSVorbis 모듈을 볼 수 있습니다.http://anonsvn.mono-project.com/viewvc/trunk/csvorbis/

다른 팁

당신은 당신이 찾고있는 라이센스 종류를 언급하지 않았습니다. 나는 훌륭한 결과를 얻었습니다 FMOD, 비상업적 프로젝트에 무료로 제공됩니다. OGG 및 MP3를 포함하여 다양한 형식을 재생하며 연주 방법을 제어하기위한 광범위한 API를 가지고 있습니다. 필요한 것처럼 크로스 플랫폼입니다.

FMOD는 게임을 크게 대상으로합니다. 이미 우수한 3D 기능과 함께 제공된다면 놀라지 않을 것입니다 (확실하지는 않지만).

당신이 말할 수 있듯이, 나는 꽤 팬입니다. 대부분 OGG 파일을 재생하기 위해 빈 C# 프로젝트를 얻는 것이 놀랍게도 고통 스럽기 때문입니다.

system.media.soundplayer와 함께 .wav 파일을 직접 재생할 수 있어야합니다. 그것이 당신의 유스 케이스에 도움이 될지 확실하지 않습니다.

나는 FFMPEG와 함께 일했고 지금까지 나는 그것을 좋아한다. 예, 릴리스 전반에 걸쳐 문제는 거의 없지만 가장 효율적입니다.

내 자신의 질문에 부분적으로 대답하기 위해, 자신의 WAV 로더를 작성하는 것이 매우 쉽다는 것이 밝혀졌습니다. WAV 파일 형식을 설명하는이 기사를 사용했습니다.

http://www.sonicspot.com/guide/wavefiles.html

항상 그렇듯이 FMOD는 귀하의 답변입니다 ... 모든 문제에 대한 해결책을 자유롭게 얻으십시오. http://www.fmod.org/index.php/download#fmodexprogrammersapi

https://sites.google.com/site/cobnut3d/

slimdx.directsound- C #에 대한 코드의 예입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top