Gamux Game Entwicklung  
     

Left Nav Mit Facebook verbinden Registrieren Lexikon Lexikon Interessengemeinschaften Suchen Heutige Beiträge Alle Foren als gelesen markieren Right Nav

Left Container Right Container
 
Alt 12.08.2008, 18:17   #1 (permalink)
Neuer Benutzer
 

Standard MP3 File abspielen

Hi,
ich habe bei C++ jetzt schon grundlegende Dinge wie schleifen, if(else), variablen, usw gelernt. Nun versuche ich mich in bestimmten Bereichen alleine weiterzubilden.
Ich habe eine kleine mp3-Datei und möchte diese Datei mit C++ in einer Konsole abspielen.

Ist das in einer Konsole machbar?
Gibt es bvestimmte 'Funktionen in C++ dafür?

LG
Shredder ist offline   Mit Zitat antworten An Facebook senden
Werbung
Alt 12.08.2008, 20:08   #2 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Das ist nicht so einfach, da du dafür DirectX oder ähnliches benutzen musst. Ein einfacher Code wäre folgender:
cpp Code:
  1. #include <windows.h>
  2.  
  3. int main()
  4. {
  5. PlaySound("wave.wav", NULL, SND_FILENAME);
  6. return 0;
  7. }

Wenn du allerdings MP3-Dateien mit hoher Qualität abspielen willst, dann solltest du auf jeden Fall auf DirectSound zurückgreifen. OpenGL wäre natürlich auch eine Lösung.

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 13.08.2008, 17:55   #3 (permalink)
Erfahrener Benutzer
 

Standard

Bei MP3 nimmst du am besten eine fertige Klasse unter OpenSource. MP3 hat einfach zu viele Kompriermierungen und daher ist es nicht so einfach diese Musik in guter Qualität abzuspielen.
Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 14.08.2008, 16:16   #4 (permalink)
Neuer Benutzer
 

Standard

Zitat:
Zitat von Phybot Beitrag anzeigen
Bei MP3 nimmst du am besten eine fertige Klasse unter OpenSource. MP3 hat einfach zu viele Kompriermierungen und daher ist es nicht so einfach diese Musik in guter Qualität abzuspielen.
Kannst du mir eine Klasse empfehlen? Am liebsten wäre mit nachher so etwas:
Code:
include "classe.h"

playmp3("test.mp3");
Also etwas ganz simples wo man nur noch eine Zeile Code bei einer MP3 hat.

@Sebastian: Wie schlecht hören die Sounds sich denn an?
Shredder ist offline   Mit Zitat antworten An Facebook senden
Alt 15.08.2008, 14:18   #5 (permalink)
Erfahrener Benutzer
 

Standard

Zitat:
Zitat von Shredder Beitrag anzeigen
Kannst du mir eine Klasse empfehlen? Am liebsten wäre mit nachher so etwas:
Code:
include "classe.h"

playmp3("test.mp3");
Also etwas ganz simples wo man nur noch eine Zeile Code bei einer MP3 hat.

@Sebastian: Wie schlecht hören die Sounds sich denn an?
Ich werde mal gucken ob ich die Klasse, die ich meine noch wiederfinde. Hatte sie irgendwo mal gefunden, dann aber den genauen Namen vergessen
Phybot ist offline   Mit Zitat antworten An Facebook senden
Alt 15.08.2008, 16:24   #6 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

Zitat:
Zitat von Shredder Beitrag anzeigen
@Sebastian: Wie schlecht hören die Sounds sich denn an?
Kommt drauf an wie stark die Datei komprimiert ist. Du kannst es ja mal ausprobieren. Allerdings hätte ich ebenfalls Interesse an einer solchen "Klasse"

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 16.08.2008, 12:10   #7 (permalink)
Neuer Benutzer
 

Standard

Wen es interessiert. Eine der besten kostenlosen Klassen dafür ist WMp3. Allerdings ist der Code ein bisschen länger als zwei Zeilen:
Code:
#include <windows.h>
#include "wmp3.h"

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     // create instance of WMp3 class
    WMp3* myMp3 = new WMp3();

    // open mp3 file from disk
    int ret = myMp3->OpenMp3File("test.mp3",1000);

    if(ret == FALSE) {
        // if error, get error message, delete class instance and return
        MessageBox(0, myMp3->GetError(),"Error",MB_ICONSTOP);
        delete myMp3;
        return 0;
    }
    // start playing
    myMp3->Play();

    MessageBox(0,"Click OK to stop playing","Playing mp3",MB_OK);

    
    // stop playing
    myMp3->Stop();
    // delete class instance
    delete myMp3;    

    return 0;
}
Die Klasse die oben eingebunden wird ist keine Standardklasse sondern kann hier gedownloaded werden.

Ich hoffe ich konnte euch helfen wenn ich schonmal hier bin.
Marc ist offline   Mit Zitat antworten An Facebook senden
Alt 16.08.2008, 14:37   #8 (permalink)
Pixelschieber
Benutzerbild von Sebastian
 

Standard

@Marc: Ich werde die Klasse mal heute Abend testen. Sollte diese mir gut gefallen werde ich wohl ein kleines Tutorial dazu posten.
Danke auch von mir für den Link und ich hoffe das die Klasse funktioniert.

Ich hatte nämlich schon Klassen, die ewiniges an Geräuschen verzerrt haben.

Grüße
Sebastian

http://www.filmeo.de - Kostenlose Filme & Serien finden
Sebastian ist offline   Mit Zitat antworten An Facebook senden
Alt 18.08.2008, 16:12   #9 (permalink)
Neuer Benutzer
 

Standard

@Sebastian: Kein Problem ich helfe doch gerne wo ich kann. Die Klasse wird schon funktionieren, da musst du keine Angst haben
Marc ist offline   Mit Zitat antworten An Facebook senden
Alt 18.08.2008, 18:11   #10 (permalink)
Neuer Benutzer
 

Standard

Zitat:
Zitat von Marc Beitrag anzeigen
@Sebastian: Kein Problem ich helfe doch gerne wo ich kann. Die Klasse wird schon funktionieren, da musst du keine Angst haben
Danke Marc ist glaube das ist genau das was ich gesucht habe.
Shredder ist offline   Mit Zitat antworten An Facebook senden
Antwort

Themen-Optionen
Ansicht

Forumregeln
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[C++]Mit IrrKlang MP3s abspielen Sebastian Codeschnipsel 3 27.10.2008 15:58


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:34 Uhr.


Style Copyright by Wrestling Forum
Content Relevant URLs by vBSEO 3.3.0