CD- Wiedergabe mit C++ Builder6- Komponenten funktioniert nicht.
-
Hallo Leute,
Vor einiger Zeit habe ich mal einen kleinen Player programmiert (mit C++ Builder 1). Ich wollte diesen Source nun nach einigen Änderungen mit dem C++ Builder 6 kompilieren, was auch alles kein Problem war. Besonders an dem Abspielvorgang der CD- Wiedergabe habe ich nichts verändert. Jetzt ist es aber so, dass gerade CD's nicht mehr abgespielt werden. Dann habe ich den ursprünglichen Code genommen, bei dem noch alles funktionierte (unter Builder 1), und diesen mit dem Builder 6 kompiliert. Nach dem Kompilieren funktionierte auch hier die CD- Wiedergabe nicht mehr. Ich verwende als Komponente ganz einfach TMediaPlayer.Hat sich an der Komponente etwas verändert und muss ich nun auch etwas ändern, oder woran liegt das alles?
Vielen Dank für eure Hilfe,
Euer Entertainer
-
"Funktioniert nicht" ist keine ausreichende Fehler- oder Problembeschreibung.
-
Hallo,
Ich habe nun noch einmal genauer nachgeforscht und gefunden, woran es liegt. Ich habe in meinem Computer zwei CD- Laufwerke (ein Brenner). Das CD- Laufwerk hat den Buchstaben G:\ und der Brenner hat F:\ . Als ich die CD einmal in den Brenner gelegt habe funktionierte alles. Somit ergibt sich eine neue Frage, nämlich wie ich dem MediaPlayer sage, dass er die CD in G: und nicht in F: abspielt.
Kann mir hierbei vielleicht jemand helfen?
Vielen Dank,
Euer Entertainer
-
Hallo Leute,
Also ich habe nun herausgefunden, dass es früher bei TMediaPlayer so war, dass man in "FileName" einfach den Buchstaben des zu verwendenden Laufwerks nutzte. Bei meinem C++ Builder 6 funktioniert dies allerdings nicht mehr. Die Frage ist nun, ob man jetzt einen anderen Weg einschlagen muss, um das Laufwerk anzusprechen, oder ob es sich um einen Bug in der "neueren" Komponente des Builder 6 handelt.
Könnt ihr mir vielleicht helfen?
Ich bin auch für reine Vermutungen offen!!!Vielen Dank,
Euer Entertainer
-
Hallo Leute,
Die TMediaPlayer- Komponente basiert ja auf der MCI. Ich habe nun probiert das Laufwerk der MCI zu verändern, also von F: auf G: einzustellen. Allerdings funktionierte der Abspielvorgang des MediaPlayers immer noch nicht.
Habt ihr denn wirklich keine weiteren Ideen mehr??
Bitte helft mir, wenn ihr könnt!
Vielen Dank,
Euer Entertainer
-
Hallo,
Mein Problem ist leider immer noch nicht gelöst. Ich habe es nun versucht über die DeviceID des MediaPlayers eine Verbindung zur MCI aufzubauen, aber der MediaPlayer nimmt meine Befehle nicht auf. Hier mein Code:
MCI_OPEN_PARMS m_op = {0}; m_op.wDeviceID = MediaPlayer1->DeviceID; m_op.lpstrDeviceType = (char*)MCI_DEVTYPE_CD_AUDIO; m_op.lpstrElementName = MediaPlayer1->FileName.c_str(); // Ist bereits formatiert auf den Laufwerksbuchstaben des CD- Laufwerkes (F: , G: ...) mciSendCommand(0, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_OPEN_TYPE_ID | MCI_WAIT | MCI_OPEN_SHAREABLE | MCI_OPEN_TYPE, (DWORD)&m_op); ... MCI_PLAY_PARMS play; mciSendCommand(m_op.wDeviceID, MCI_PLAY, 0, (DWORD)&play);Durch folgenden Code wird das Abspielen gestartet. Es wird auch die CD im richtigen Laufwerk gestartet, was schoneinmal ein Fortschritt ist:
MCI_PLAY_PARMS play; mciSendCommand(m_op.wDeviceID, MCI_PLAY, 0, (DWORD)&play);Wenn ich nun jedoch beim MediaPlayer auf Stop/ Play ... drücke passiert nichts. Kann mir vielleicht irgendjemand helfen???
Vielen Dank,
Euer Entertainer
-
Immer noch keine Antwort!?!
Kennt ihr vielleicht eine alternative Komponente, am besten mit SourceCode, damit man solche Fehler in der Komponente eventuell selbst beheben und anpassen kann.
Vielen Dank,
Euer Entertainer