C++ eine MP3 abspielen?

3 Antworten

Hier ein Tip von mir:

Ich empfehle dazu den Qt-Creator. Das ist eine komplette C++ Entwicklungsumgebung für Windows, Mac und Linux bestehend aus Editor, Debugger, Formdesigner und der plattformunabhängigen Qt-Bibliothek. Diese enthält Multimediafunktionen um z.B. MP3s abzuspielen. Damit kann man plattformunabhängig in C++ programmieren ohne den Quellcode ändern zu müssen. Das kann man sowohl unter einer kostenlosen Open Source Lizenz lizenzieren oder unter einer kostenpflichtigen propritären Lizenz. Der Funktionsumfang ist bei beiden Lizenzen gleich nur mit dem Unterschied das man bei der propritären Lizenz seinen Quellcode verschlüsseln kann. Hier die benötigten Downloads:

für Windows:

  1. MinGW installieren, das sind die GCC Compiler für Windows: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download
  2. Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Das Kompilieren wird vom Qt Creator aus gestartet.
  3. Qt Installer Framework, damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken und Frameworks in ein Installationspaket (setup.exe) zu verpacken. Ideal wenn man das Programm weitergeben möchte: https://download.qt.io/official_releases/qt-installer-framework/3.1.1/QtInstallerFramework-win-x86.exe

Nach der Installation muss man im Qt-Creator den Pfad zu MinGW eintragen.

für Mac:

  1. Zuerst muss man die GCC Compiler installieren. Das geht so: In der Kommandozeile brew install gcc4.8 eingeben.
  2. Qt-Creator: https://www.qt.io/download Wähle Open Source. Diese Lizenz ist kostenlos. Das Kompilieren wird vom Qt Creator aus gestartet.
  3. Qt Installer Framework, damit kann man sein fertig kompiliertes Programm mit allen benötigten Laufzeitbibliotheken und Frameworks in ein DMG-Paket verpacken. Ideal wenn man das Programm weitergeben möchte: https://download.qt.io/official_releases/qt-installer-framework/3.1.1/QtInstallerFramework-mac-x64.dmg

Für Linux installiert man die GCC Compiler und den Qt-Creator über die Paketverwaltung der jeweiligen Distribution. Das Qt-Installer Framework gibt es nicht für Linux, dort erzeugt man je nach Distribution mit den Bordmitteln deb oder rpm Installationspakete.

Die Zukunft des Programmierens ist die indem man plattformunabhängig programmiert. Das ist in der heutigen Zeit immer wichtiger.

Hier ein Beispielcode um mit der Qt-Bibliothek MP3 wiederzugeben:

player = new QMediaPlayer;
// ...
player->setMedia(QUrl::fromLocalFile("c:\mp3\example.mp3"));
player->setVolume(50);
player->play();
bodoooosdfer 
Fragesteller
 29.09.2019, 14:13

Also wenn du das selbst geschrieben hast dann auf jeden Fall ein Mega Fettes Danke für deine Hilfreiche Antwort!

0

mit dem Standard-C++-Sprachumfang kann auch keine .wav Datei abgespielt werden.

bodoooosdfer 
Fragesteller
 28.09.2019, 12:17

PlaySound(TEXT("???.wav"), NULL, SND_FILENAME | SND_ASYNC);

Also so gehts

Das ganze halt nur mit MP3 geht nicht.

0
freejack75  28.09.2019, 12:20
@bodoooosdfer

eben, hat nichts mit C++ zu tun -- PlaySound ist eine Windows-API. Hier wirst du da nämlich nichts zu finden: https://isocpp.org/

Du kannst eine mp3 Decoder Lib einbinden, ins RAM dekodieren und das Abspielen. Oder gleich eine Bibliothek nehmen, die mp3 unter Windows abspielen kann.

0
freejack75  28.09.2019, 13:50
@ralphdieter

stimmt -- ist jedoch bei der oben verlinkten sfml der dokumentierte Grund, warum kein mp3-Support drin ist.

0

Welche includes, welche Plattform?