![]() |
Abspielen einer sounddatei über Mediaplayer
Nabend,
mal ne kurze Frage: Ich bastel mir einen Wecker für den PC, habe einen Timer für das anzeigen der Realen Uhrzeit(Systemzeit) und habe einen bereich zum einstellen der Weckzeit. So, wenn die Weckzeit erreicht ist habe ich zum Test eine Nachricht ausgeben lassen um zu sehen ob es Funktioniert und siehe da es klappt. Jetzt möchte ich aber zum Wecken eine beliebige vom User ausgewählte Sounddatei (wav oder mp3)abspielen lassen bei erreichen der Weckzeit. Dafür habe ich den Mediaplayer eingebunden und habe einen Opendialog der den Pfad und den Dateinamen dann übergibt. Mein Problem jetzt ist das iich es nicht auf die Reihe bekomme den Sound auch abspielen zulassen über den Mediaplayer. HAbe das wie folgt versucht anzubinden:
Delphi-Quellcode:
So wie oben klappt es aber nicht, habe aber leider keine Idee was ich ändern muss und aus der Hilfe werde ich auch nicht schlau, meine alles so gemacht zu haben wie es in der Hilfe steht, aber es geht dennoch nicht.
procedure TfrmweckerMain.TimerZeiteinstellenTimer(Sender: TObject);
var Startzeit:ttime; weckzeit:ttime; lbweckzeit:string; lbstartzeit:string; Wecksoundpfad:String; begin lblZeitanzeige.caption := timetostr(now); lbstartzeit := lblzeitanzeige.Caption; startzeit := strtotime(lbstartzeit); if lblweckzeitanzeige.caption <> '' then begin lbweckzeit := lblweckzeitanzeige.caption; weckzeit := strtotime (lbweckzeit); if weckzeit = startzeit then begin ShowMessage ('Aufstehen Du faule Sau'); wecksoundpfad := statusbar1.Panels[0].text; MediaPlayer1.FileName := wecksoundpfad; MediaPlayer1.Play; end; end; end; Kann mir da vieleicht jemand Helfen ? Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Hi,
Devicetype beachtet? AutoOpen? Geschieht etwas wenn du einen gültigen Filenamen direkt angibst? Gruß, MJ // Edit: Hast du denn jemals das
Delphi-Quellcode:
gesehen?
ShowMessage ('Aufstehen Du faule Sau');
Irgendwie solltest du deine Zeitroutine mal überdenken, ich steige da nicht durch :| Auch
Delphi-Quellcode:
erscheint mir sehr "riskant" ...
weckzeit = startzeit
|
Re: Abspielen einer sounddatei über Mediaplayer
Hallo,
ist ja nicht viel Code, aber dafür umständlich. Den mehrfachen Wechsel zwischen String-Darstellung und internem Zeitformat würde ich vermeiden wollen. Wenn dein Timer feuert ist die Prüfung auf Gleichheit nicht so gut - besser du prüfst auf Überschreitung der Weckzeit. Wenn dieser Fall eintritt, solltest du den Wecker abschalten bevor du den soundfile in Auftrag gibst. Sonst kann es passieren, dass dein Timerevent (1000 msec?) den MediaPlayer gerade noch laden lässt und das Abspielen von neuem starten will... Freundliche Grüße |
Re: Abspielen einer sounddatei über Mediaplayer
Also die Nachricht "Aufstehen Du faule ***" sehe ich immer wenn die Weckzeit erreicht wurde, also daher klappt das ohne Probleme nur das mit dem Sound nicht, hatte auch schon AutoOpen auf True aber dennoch spielt der nichts ab, auch nicht wenn ich auf die Play Taste von der Mediaplayer Navigationsleiste klicke.
Das da noch ein wenig viel an Code ist was so nicht sein muss ist mir schon klar, habe die Routine ja auch in 3 Minuten gebastelt, möchte das erst alle sachen Funktionieren und dann wird das anständig umgesetzt, da es für mich jetzt Hauptsächlich um die Funktionalität des Mediaplayers und dem Abspielen der Dateien geht. Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Aha, gut.
Habe mal als Test:
Delphi-Quellcode:
Die 'Lach.wav' im aktuellen Verzeichnis, klappt ohne zu murren.
procedure TForm1.Button1Click(Sender: TObject);
begin Mediaplayer1.AutoEnable := true; Mediaplayer1.AutoOpen := true; Mediaplayer1.DeviceType := dtWaveAudio; MediaPlayer1.FileName := 'lach.wav'; MediaPlayer1.Play; end; Grüße, MJ |
Re: Abspielen einer sounddatei über Mediaplayer
Also bei mir klappt das immer noch nicht, kann aber sein das ich den Pfad nicht komplett übergebe darf sondern nur den namen der Datei, muss ich mal gleich probieren.
Auch möglich das der Timer überlagert, habe dshalb jetzt von dem Timer eine Procedure aufgerufen die dann das Abspielen übernehmen soll. Aber ich kann mir nicht vorstellen das der Timer das Problem ist, ich habe vor einem haben Jahr so etwas schonmal in VB - Programmiert und da ging das ohne Probleme. Deshalb verstehe ich ja nicht warum das nicht klappt, aber OK Delphi tickt da ja schon ein wenig anders. Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Wenn ich das jetzt auf einen Button lege dann gibt der mir die Fehlermeldung "Kein MCI-Gerät geöffnet" habe aber keine Ahnung was das jetzt sein soll ?
Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Delphi-Quellcode:
Edit: oder AutoOpen auf True stellen.
wecksoundpfad := statusbar1.Panels[0].text;
MediaPlayer1.FileName := wecksoundpfad; MediaPlayer1.Open; <- ! MediaPlayer1.Play; ShowMessage ('Aufstehen Du faule Sau'); // Das hier! Edit2: Was soll eigentlich der Unsinn? :gruebel:
Delphi-Quellcode:
Gleich so:
wecksoundpfad := statusbar1.Panels[0].text;
MediaPlayer1.FileName := wecksoundpfad;
Delphi-Quellcode:
MediaPlayer1.FileName := statusbar1.Panels[0].text;
|
Re: Abspielen einer sounddatei über Mediaplayer
@sunlight 7
Habe ja gesagt wurde auf die schnelle gemacht, Ordnung bringe ich später rein. Habe jetzt eine Procedure erstellt die so aussieht:
Delphi-Quellcode:
Und in der Variablen wecksoundpfad steht auch der Pfad mit der Datei drin, habe das gerade nochmal überprüft, aber dennoch geht das nicht bekomme immer die Meldung jetzt "Kein MCI-Gerät gefunden/geöffnet".
Procedure TfrmweckerMain.playsound();
begin Mediaplayer1.AutoEnable := true; Mediaplayer1.DeviceType := dtWaveAudio; MediaPlayer1.FileName := wecksoundpfad; Mediaplayer1.AutoOpen := true; MediaPlayer1.Play; end; Und ich habe keine Ahnung warum es das so nicht tut. Da muss etwas fehlen oder noch zusätzlich eingestellt werden oder der Timer blockiert nur ist das alles kein Grund für die Fehlermeldung (denke ich). Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Den brauchts nicht: Mediaplayer1.DeviceType := dtWaveAudio; :wink:
Und Du mußt .Open verwenden, AutoOpen ist zur Laufzeit nich' besonders geeignet. Edit: AutoOpen ist da, wenn Du zB im OI eine FileName angibst, das er die beim Programmstart gleich aufmacht. |
Re: Abspielen einer sounddatei über Mediaplayer
Hi
Hatte auch Probleme damit, daher habe ich den Mediaplayer für mein eigenen Wecker verbannt und einfach die Unit MMSYSTEM eingebunden. Dann klappt es mit
Delphi-Quellcode:
einfach und gut.
PlaySound('wecker.wav',0,snd_Async);
(gibt es jemanden im Forum der noch kein Weckprogramm gebaut hat? ;-) ) MJ |
Re: Abspielen einer sounddatei über Mediaplayer
@maya jessica
werde ich mal ausprobieren, danke für Deine hilfe, auch danke dem rest, werde ich wohl ohne Mediaplayer auskommen müssen. Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
@Maja: Ich glaub nicht' :mrgreen:
Ich habs anders rum gemacht, ich hab mir nen Player geschrieben, und da den Wecker eingebaut :???: :mrgreen: Aber PlaySound kann nur Wave :wink: @Darkchild: Warum? |
Re: Abspielen einer sounddatei über Mediaplayer
@sunlight 7
Das will mit dem MediaPlayer einfach nicht abspielen, keine Ahnung warum, aber der will nicht. Habe auch schon Deine Anmerkungen umgesetzt, aber nix. Was mich dabei nervt ist am Tage Entwickle ich Anwendungen für Betriebe die auch nicht gerade klein sind und abends bin ich zu dämlich um einen wav-Datei abspielen zu lassen, da kann dann was nicht stimmen :? . Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Was zeigt er, wenn Du ShowMessage(statusbar1.Panels[0].text) machst?
Bzw. warum speicherst Du nicht den ganzen Pfad, den Du vom OpenDialog bekommst in einer extra Variable?! Zum öffnen von Dateien ohne Pfad kann ich Grundsätzlich nur abraten, das ist oft ne Fehlerquelle, besonders wenn man das Programm mal erweitert. Kann der MCI generell Waves abspielen? Ich hatt' das mal, das der Treiber futsch war :roll: |
Re: Abspielen einer sounddatei über Mediaplayer
Also ich übergebe ihm den kompletten Pfad zu der Wave Datei und wenn ich Delphi schliesse und einfach eine wave-Datei über den Mediaplayer starte dann spielt der die auch einwandfrei ab.
Muss ich bestimmte dll's mit in das Verzeichniss packen damit das klappt ? Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Nö, wenn Du magst, dann post mal das Projekt oder schicks mir per PN, dann sehe ich mir das gerne an, es kann ja net sein, das das net funktioniert.
|
Re: Abspielen einer sounddatei über Mediaplayer
@Sunlight 7
Ich packe das mal in eine rar und schicks Dir rüber. Muss nur jetzt mal kurz den Quellcode aufräumen. Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Gut.
Bevor es hier Missverständnisse oder Beschwerden gibt: Wenn ich Fehler oder Anmerkungen finde, werden diese hier herein geschrieben :wink: |
Re: Abspielen einer sounddatei über Mediaplayer
@sunlight 7
Klar warum auch nicht, ist ja keine Geheime Datei und wenn es hilft andere vor den selben dummen Fehlern zu bewahren ist das nur gut. Also daher, kein Thema. Aber schon mal thx im vorraus ! Auch wenn nicht klappt ! Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
@sunlight 7
Ein kleiner Fehler ist in der Datei die ich Dir geschickt habe, der Wecksoundpfad muss noch aus der Kommentar klammer raus, sonst erhält der den Pfad nicht, habe ich gerade beim Aufräumen und Auskommentieren in der Eile übersehen. Sorry ! Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
Okay, jetzt hab ich den Fehler gefunden :???:
Der lag einmal da:
Delphi-Quellcode:
Du hattest das Open vor dem Zuweisen von FileName, das gehört, wie es hier gezeigt ist nachher.
Procedure TfrmweckerMain.playsound();
begin MediaPlayer1.FileName := wecksoundpfad; Mediaplayer1.Open; MediaPlayer1.Play; end; Und Du mußt im OI dem MediaPlayer1.DeviceType auf dtAutoSelect stellen, sonst funkt das net. :wink: PS: Cooler Wecksound, nur etwas leise, verschläfst Du das nicht? Edit Hat etwas gedauert, die große Datei mit nem Modem zu laden... |
Re: Abspielen einer sounddatei über Mediaplayer
Muss ich dann mal umstellen und schauen obs klappt sage Dir dann gleich nochmal kurz bescheid.
Ich muss mal sehen ob ich die Alf Titelmelodie in sauber bekomme :-D . Dann geht das bestimmt auch lauter ! Gruss Darkchild |
Re: Abspielen einer sounddatei über Mediaplayer
:mrgreen:
Nur Deine Uhrzeitprogrammierung würd' ich etwas ändern, zb:
Delphi-Quellcode:
Dann mußt Du nicht Sekunden eingeben und läufst somit nicht Gefahr, das er drüber springt.
Copy(TimeToStr(Now), 1, 5);
Wenn dazu mehr Fragen hast, bitte n neues Thema dazu machen :wink: |
Re: Abspielen einer sounddatei über Mediaplayer
@sunlight 7
Klappt jetzt. Und das nur wegen dem Zeilendreher und der Einstellung im OI. Wenn ich ehrlich bin dann wäre ich auf das Problem wohl nicht gekommen, zumindest nicht in den nächsten 2 Tagen :wall: . Also daher vielen Dank für Deine Hilfe. Gruss Darkchild P.S. : Wenn ich den dann jetzt die Tage weiter ausbaue dann werde ich auf die Sache mit der Uhrzeit zurückkommen und einen neuen Thread aufmachen. THX !!!!!!!!!!!!!!!!!!! :cheers: |
Re: Abspielen einer sounddatei über Mediaplayer
Kleinigkeit für n alten MCI Hasen :mrgreen:
Grüßle! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz