mp3 abspielen
-
Hallo!
Ich versuche, wenn ein Button geklickt eine mp3-datei abzuspielen.
m_path ist vom Typ CString und enthält den Pfad mit doppelt '/'.
Hier mein Code:void CMyPlayerView::OnButton1() { sCommand = "open \" " +m_path+ "\" alias Player shareable"; mciSendString(sCommand,NULL,NULL,NULL); // Die Wiedergabe starten: sCommand = "play Player"; mciSendString(sCommand,NULL,NULL,NULL); }
Was mach ich falsch? Liegts vielleicht am Pfad?
thx
Hansi
-
In der FAQ gibt es SOurce dafür
-
Also ich hab den Code ja aus der FAQ. Hier das is der Inhalt der Variable m_path
m_path = _T("C:\\Musik\\Titel.mp3");
Also ich hab auch gelesen,dass da wohl fMod am besten is. Aber da steig ich nich so ganz durch.
Kann man da vielleicht irgendwo was zum Lernen von fmod runterladen? Oder kann mir jemand sagen was ich falsch mache?thx
Hansi
-
Vielleicht solltest du uns erstmal dein Problem beschreiben.
Findet er die mp3-Datei nicht?
Gibts Fehlermeldungen beim Kompilieren?...
-
Hast du das auch in deinem Code stehen?
#pragma comment(lib, "winmm.lib") #include "mmsystem.h"
-
hm, nimm Fmod, da gibts auch ne gute hilfe und Doku für. www.fmod.org
Devil
-
Also ich klicke den Button an und es wird keine datei abgespielt.
Auf www.fmod.org war ich auch schon. Aber ich weiß irgendwie trorgtdem nich wie das gehen soll...thx
Gruß
Hansi
-
Also mit dem Button stimmt alles. Wenn ich ne wav-datei via PlaySound abspiele wird sie auch abgespielt. Nur mit der mp3-datei lappts nich. Weiß denn keiner was ich falsch mache?
Wo habt ihr eigentlich alle das Programmieren mit fmod gelernt?thx
Grüße
Hansi
-
An deiner Stelle würde ich die Datei mit Hilfe von MCI abspielen und das MCI-Fenster verbergen.
Beispiel:
Dazu musst du zunächst folgendes tun: Öffne das Menü PROJEKT, den Untereintrag EINSTELLUNGEN und blättere auf LINKER. Schreibe in die Zeile mit dem Titel OBJEKT-/ BIBLIOTHEKMODULE den Text VFW32.LIB.
// Folgenden Code in Datei stdafx.h schreiben #include <vfw.h> // Media-Code (???Dlg.cpp) void ???::Play() { CString mp3FileName = ...; CRect rRect; CWnd wnd; HWND hMedia; // Media-Fenster erzeugen hMedia = MCIWndCreate(NULL, AfxGetInstanceHandle(), MCIWNDF_SHOWALL | MCIWNDF_NORERRORDLG, NULL); if (hMedia) { char szFileName[256]; sprintf(szFileName, "%s", mp3FileName); // Datei öffnen MCIWndOpen(hMedia, szFileName, 0); // Fenster verstecken wnd.Attach(hMedia); wnd.ShowWindow(SW_HIDE); // Versuch's mal ohne das... wnd.Detach(); // Datei abspielen MCIWndPlay(hMedia); } }
PS: Mit Hilfe einiger Änderung dieses Codes kannst du das Media-Fenster beliebig verändern [Breite/ Höhe/ Pos => wnd.SetWindowPos(NULL, ...)]. Hier hast du sogar einen TrackBar
-
Kann mir vielleicht jemand den link schicken zu der hilfe auf www.fmod.org?
weil ich find da nicks auf der page.thx
Hansi
-
@hab_keinen
MCIWndCreate(NULL, AfxGetInstanceHandle(), MCIWNDF_SHOWALL | MCIWNDF_NORERRORDLG, NULL);
soll heißen ->
MCIWndCreate(NULL, AfxGetInstanceHandle(), MCIWNDF_SHOWALL | MCIWNDF_NOERRORDLG , NULL);
Ansonsten einwandfrei
BYE, SigiPS:
Ich bind meine lib´s über "Menü: Project - add to Project - files" ein. ist nicht so umständlich (find ich). Der Eintrag in die stdafx.h ist trotzdem notwendig
-
Schau hier -> http://www.fmod.de/
In der Mitte findest du 2 Links (Documentation, Tutorials) oder auch zum runterladen
TSCHAU, Sigi
Links:
http://www.fmod.org/docs
http://www.fmod.org/docs/Tutorials
-
Vielen Dank! Also ich hab den Code nich in die stdafx.h reingeschrieben sondern in die View Klasse bei der "button-funktion" einfach eingefügt hat auch geklappt. Das mit dem Parameter ist mir auch aufgefallen, aber ansonsten funzt alles. Könnte man eigentlich in die FAQ packen, aber nur wenn die Admins es für nötig halten klappt nämlich wirklich!
Nochmal Danke an alle!
Gruß
Hansi
-
Achso kann ma irgendwie die Laustärke regeln bei der Mci?
thx nochmal
hansi
-
Also ich hab die Funktionen in der MSDN gefunden:
mit[cpp]
Lautstärke=MCIWndGetVolume(hMedia); //Lautstärke abfragen
MCIWndSetVolume(hMedia,gewünschte_Lautstärke); //Laustärke ändernAber weiß vielleicht jemand wie man z.B. via Slider den Sound um 2 Sekunden "vorspulen" kann? Weil da find ich in der MSDN irgendwie nicks.
thx
Hansi