Einfachste Weg, um zu spielen mp3-Dateien von Visual C++
Ein paar Jahre zurück, ich schrieb einige util-Bibliothek rund um DShow/DSound, lassen Sie mich spielen Sie MP3-Dateien in einer Windows-C++ - Anwendung. Ist das immer noch der normale Weg, es zu tun in einem C++/MFC-Anwendung, oder ist das eine Fläche von DirectX, die hat zusammengefasst, die in den Allgemeinen Windows-APIs?
Die motivation ist einfach, wir verwenden die standard-Windows-PlaySound-Methode für WAVs, und würde gerne in der Lage zu spielen MP3-Dateien über eine ähnlich einfache API, entweder von Windows oder etwas, das wir schreiben, zu wickeln komplexer Funktionalität.
EDIT: das ist für eine große, kommerzielle, closed-source-Projekt. Und wir wollen einfach nur spielen sich die Dinge einfach, zahlen eine Menge für eine Bibliothek wird nicht Fliegen.
InformationsquelleAutor Mr. Boy | 2010-01-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder die DirectShow verwenden, aber es ist nicht Teil von DirectX mehr oder stützen sich auf eine Drittanbieter-Bibliothek wie Bass, FMod, mpg123 oder sogar libwmp3.
Wenn Sie nicht wollen, um die DirectShow verwenden, mehr (aber warum ändern, wenn der vorhandene code funktioniert?), Sie können MCI:
InformationsquelleAutor Gregory Pakosz
Dies ist eine einfache Möglichkeit zum Abspielen einer audio-Datei: http://msdn.microsoft.com/en-us/library/dd390090(VS.85).aspx
InformationsquelleAutor Goz
Youc verwenden könnte, MCI windows-Funktionen,
https://msdn.microsoft.com/en-us/library/ms709626
Kann es spielen viele audio-Datei-Formate, einschließlich MP3, WAV, MIDI etc.
Wenn ich mich Recht erinnere, ist es nicht erforderlich DirectX.
Die PlaySound-Funktion könnte auch für Sie arbeiten.
InformationsquelleAutor Jason
Wenn Sie nicht möchten, bezahlen einer Lizenz und wollen in-house tun, die Analyse Ihrer mp3-Datei und übergeben es an XAudio2.
Seine eine Sache, die Sie tun können, einmal (2-3 Stunden bei max) und verwenden Sie immer. 😛
DirectShow haben ein anderes Ziel, ist für "multimedia" als für multimedia der Sinne, ist sehr breit. (und ist mittlerweile eh nicht mehr aktualisiert) XAudio2 ist der Ersatz für DirectSound, ist ein low-level-Audio-API cross-Plattform Xbox 360/PC. Microsoft schieben wollen, die es als die einzige API zu sein usen auf Windows.
InformationsquelleAutor feal87
PlaySound() nativ unterstützt MP3, solange es ist eingebettet in eine WAV-Datei.
Menschen erkennen nicht, dass WAV ist ein container format.
Laden Sie die ffmpeg-utilities zum konvertieren der header und die Erhaltung der codec:
InformationsquelleAutor Northwood
Haben, könnten Sie einen Blick auf BASS. Es ist ein einfach zu bedienender audio-Bibliothek, die kostenlos für nicht-kommerzielle Nutzung.
InformationsquelleAutor Thomas