Frage

Ich bin für eine Cross-Plattform (.NET und Mono unter Windows, Mac OS X und Linux) Art und Weise wav, mp3 oder ogg-Dateien so zu entschlüsseln, dass ich dann die decodierten Ströme durch Directsound oder OpenAL nach Wunsch spielen kann.

Eine Lösung, die entweder mp3 oder ogg dekodieren kann ausreichend sein würde - sowohl Decodierung ist nicht erforderlich. Wenn es (oder eine andere Lösung) wav und dekodieren kann, das wäre ideal, ist aber nicht unbedingt notwendig, da ich möglicherweise meine wav-Dateien in MP3 oder Ogg umwandeln könnte.

Eine Lösung, die WAV-Dateien nur entschlüsseln kann, ist nur eine Teillösung, aber ich nehme, was ich kriegen kann. ; -)

Hier ist, was ich schon sah:

  • Directsound und Alut sowohl Unterstützung WAV-Decodierung, aber Alut ist veraltet.
  • ffmpeg dekodiert gerade über alles, aber es scheint nicht, eine gemeinsame stabile Release auf allen Plattformen zu haben?
  • Ich habe noch nicht versucht csvorbis, aber es ist sehr alt, und ich bin mir nicht sicher, was der aktuelle Status ist.

Sie sind mehr als willkommen, um zu versuchen, mir zu pursuade, dass eine dieser oben genannten Lösungen ist eigentlich die beste Option.

Danke.

War es hilfreich?

Lösung

Für die einfache Unterstützung für WAV Dateien, die Sie bei Mono-Implementierung in mcs / Klasse / System / System.Media / AudioData.cs ( http://anonsvn.mono-project.com/viewvc/trunk/mcs/class/System/System.Media/ ) .

Für ogg Audio-Dateien decodiert werden können Sie am csvorbis Modul in sn-Server mono aussehen: http://anonsvn.mono-project.com/viewvc/trunk/csvorbis/

Andere Tipps

Sie haben nicht die Art von Lizenzierung erwähnen Sie suchen. Ich habe sehr gute Ergebnisse hatte mit FMOD , die kostenlos für nicht-kommerzielle verfügbar Projekte. Es spielt eine große Auswahl an vielfältigen Formaten, einschließlich ogg und mp3, und verfügt über eine umfangreiche API zur Steuerung, wie sie zu spielen. Es ist Cross-Plattform, wie Sie benötigen.

FMOD zielt Spiele zu einem großen Teil; Ich wäre nicht überrascht, wenn es bereits mit hervorragenden 3D-Funktionen kommt (obwohl ich nicht sicher weiß).

Wie Sie sagen, ich bin ziemlich ein Fan, die meist ist, weil es überraschend schmerzlos war einen leeren C # -Projekt zu erhalten eine OGG-Datei zum ersten Mal zu spielen.

Es soll möglich sein, direkt mit System.Media.SoundPlayer .wav-Dateien wiedergegeben werden. Nicht sicher, ob das Ihren Anwendungsfall hilft.

ich mit ffmpeg gearbeitet und so weit ich es mag. Ja es gibt einige Probleme in Versionen, aber es ist die effizienteste aller.

teilweise auf meine eigene Frage zu beantworten, es stellt sich heraus, dass es ziemlich einfach, Ihre eigenen WAV-Loader zu schreiben. Ich habe diesen Artikel, der das WAV-Dateiformat beschreibt:

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

wie immer, ist fmod Ihre Antwort ... Sie fühlen sich frei Lösung für alle Ihre Probleme zu bekommen auf http://www.fmod.org /index.php/download#FMODExProgrammersAPI

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

SlimDX.DirectSound -. Ist ein Beispiel für Code in C #

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top