![]() |
Programm mit 2 Liedern /MediaPlayern -> Error
Hey Leute, ich bin neu hier, also erstmal Hallo!
Ich hoffe der Titel gibt schon grob mein Problem wieder Und zwar hab ich ich in ein Programm ein Lied eingefügt, dass sich mit dem MediaPlayer abspielen lässt, hat alles prima geklappt unter anderem weil das hier so super erklärt wurde in anderen Threads Nun wollte ich noch ein zweites Lied hinzufügen, dass sie durch einen zweiten MediaPlayer abspielen lässt Hab also alles nochmal genauso gemacht, nur eben mit dem anderen Lied Compilieren klapp einwandfrei, aber sobald ich starten will kommt folgender Fehler: "Im Projekt Programm1.exe ist eine Exception der klasse EMCIDeviceError aufgetreten. Medlung: ’Der Gerätename wird von dieser Anwendung bereits als Alias benutzt. Benutzen Sie einen eindeutigen Alias.’. Prozess wurde angehalten. Mit einzel Anweisung oder Start fortsetzen" nach drücken von start wie angewiesen (^^) dieser Fehlermeldung: "Exception EMICDeviceError in Modul Programm1.exe bei 000506E0. Der Gerätename wird von diserAnwendung bereits als Alias benutzt. Benutzen sie einen eindeutigen Alias" Im Quelltext erscheint nun ein zweiter Tab namens Programm1 , neben dem Tab Unit1 Kann mir jemand sagen wie ich den Fehler behoben bekomme, bzw was überhaupt der Fehler ist Bitte auch schreiben wenn ihr noch mehr informationen braucht Wie gesagt bei einem Lied geht alles, sobald ich in zweites rein mache geht nichts mehr mach ich das wieder raus funktionierts wieder lg füchschen29 |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Hast doch selbst schon beantwortet.
Zitat:
|
Re: Programm mit 2 Liedern /MediaPlayern -> Error
mhh ja
aber was genau hat das zu bedeuten? Tut mir leid, ist bestimmt ne dumme frage... aber ich bin "neu im geschäft" xD Wieso tritt dieser Fehler erst beim zweiten MediaPlayer auf und wie und wo kann ich das ändern? lg füchschen29 |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Hallo,
setze doch mal Shareable bei beiden TMediaplayern auf True. Heiko |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
selber fehler...
|
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Bin mir jetzt nich ganz sicher ob ich das richtig versanden habe, aber ich könnte mir vorstellen das bei dir beide Mediaplayer den Namen "Mediaplayer1" haben. Falls nicht noch eine Frage: Werden die beiden mediaplayer in der der selben rutine gestarten? Lösung:
Delphi-Quellcode:
Wie du die Mediaplayer benutzen musst weißt du ja :wink:
procedure DeineProcedure;
begin begin Mediaplayer1 benutzen end; begin mediaplayer2 benutzen end; end; |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
tatsächlich haben beide mediaplayer NICHT de selben namen ;-)
das ganze sieht wie folgt aus beim drücken des einen buttons (nennen wir ihn 1) erscheinen zwei versteckte buttons (nennen wir sie 2und 3) (Visible Eigenschaft) betätige man Button2 erscheint MediaPlayer1, der ebenfalls bis dahin Visible False war betätigt man Button3 erscheint MediaPlayer2,auh bis dahin versteckt mit Mediaplayer1 lässt sich dann lied eins mit Medialayer2 lied zwei abspielen zumindest sollte es so funktionieren... so lange nur ein mediaplayer drin ist geht auch alles |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
hmm.. versteckte buttons erscheinen lassen? Nicht grade stillvoll. Machst doch lieber so:
Delphi-Quellcode:
Dann können die 2 Buttons unsichtbar bleiben und werden trotzdem genutzt, nur ein button drücken statt 3, ja ich bin faul :mrgreen:
procedure Button1.click (Sender: Objekt);
begin Button2.click; Button3.click; end; |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
naja das is ja nich mein problem xD
is ja mit absicht so gemacht die buttons tragen den namen des jeweiligen liedes ;-) also wichtiger is wie ich das programm wieder zum laufen bringe auch mit zwei mediaplayern^^ |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Delphi-Quellcode:
so sieht der erste mediaplayer aus, der zweite genauso nur anderes lied, die eigenschaften alles entsprechend angepasst
procedure TForm1.MediaPlayer1Click(Sender: TObject; Button: TMPBtnType;
var DoDefault: Boolean); begin with mediaplayer1 do begin PlaySound(Pchar('d:\Robert\Musik\04 Jerk it out.wav'),0,SND_ASYNC); end; end; durchaus möglich das ich was falsch gemacht hab, und das lied, wenn ich nur einen mediaplayer hab, nur durch zufall lief xD |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
[OT]
Du solltest keinen direkten Pfad verwenden (d: ...) [/OT] |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Probiers mal so:
Delphi-Quellcode:
Vorher bei beiden Mediaplayern autoentable und entable auf false stellen. Müsste eigendlich funtzen.
procedure Button1.click;
begin Mediaplayer1.autoendable:= true; Mediaplayer1.endable:= true; Mediaplayer1.filename('d:\Robert\Musik\04 Jerk it out.wav'); Mediaplayer1.open; Mediaplayer1.play; end; begin Mediaplayer2.autoendable:= true; Mediaplayer2.endable:= true; Mediaplayer2.filename('d:\Robert\Musik\dein 2. Lied.wav'); Mediaplayer2.open; Mediaplayer2.play; end; end; |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Hi
die Frage ist doch, wieso überhaupt 2 Mediaplayer. Es scheint doch, dass das MDI durcheinanderkommt, da die beiden Player wahrschenlich beide geöffnet (.active) sind. Eventuell ist die property .autoplay auf true. Ich schlage vor, nur einen Mediaplayer zu verwenden, und nur den Dateinamen mithilfe der ButtonClick Prozedur zu setzen und dann sollte das auch klappen. Gruss |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Ja, aber er will doch 2 Lieder gleichzeitig abspielen, das geht mit einem mediaplayer der ja nur ein filename (Pfadname) hat nicht.
Zitat:
|
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Delphi-Quellcode:
Hab den Code grade zusammengebastelt und der funtzt bei mir 1A. Wenns noch Fragen oder Probleme geben sollte sag einfach bescheid :wink: . Filename musst du natürlich auf deinen Wunsch umändern und im bei beiden Mediaplayer "Autoentable" auf False stellen.
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MPlayer; type TForm1 = class(TForm) MediaPlayer1: TMediaPlayer; MediaPlayer2: TMediaPlayer; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin begin mediaplayer1.AutoEnable:= true; mediaplayer1.FileName:='C:\Dokumente und Einstellungen\Poseidon\Eigene Dateien\Eigene Musik\Lied1.mp3'; mediaplayer1.open; mediaplayer1.Play; end; begin mediaplayer2.AutoEnable:= true; mediaplayer2.FileName:='C:\Dokumente und Einstellungen\Poseidon\Eigene Dateien\Eigene Musik\Lied2.mp3'; mediaplayer2.open; mediaplayer2.Play; end; end; end. |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
erstmal danke dafür, ich werd mich dransetzen und meld mich dann ;-)
und nochmal zur klärung: nee die lieder sollen gleichzeitig laufen, das gäb ja wenig sinn, da hört man ja nichts... ich dachte ich brauch zwei um zwei lieder abzuspielen... Also gedacht war das so: Man klickt auf den einen Button dann erscheinen vier weitere, auf denen die namen des jeweiligen liedes stehen und sobald man einen davon anklickt wird das entsprechende lied abgespielt ich bin aber schon bei zwei lieder ins stocken gekommen wie ihr ja wisst xD also im prinzip ist es egal ob jetzt ein oder mehrere mediaplayer^^ aber ich versuch mich erstmal mit den neuen "tipps" med mich dann morgen nochma ;-) |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
Achso, jetzt weiß ich was du meinst :tongue: Da reicht ein TMediaplayer völlig aus. Ändere einfach den Filename wärend der Laufzeit so:
Delphi-Quellcode:
Wenn Button2 und 3 visible:= false sind dürfte alles glatt laufe :mrgreen:
procedure Button1.click;
begin mediaplayer1.AutoEnable:= true; mediaplayer1.FileName:='dein 1. lied.mp3'; mediaplayer1.open; mediaplayer1.Play; button2.visible:= true; button3.visible:= true; end; procedure Button2.click; begin Mediaplayer1.filename:='dein 2. lied.mp3'; mediaplayer1.play; end; procedure button3.click; begin Mediaplayer1.filename:='dein 3. lied.mp3'; mediaplayer1.play; end; |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
So weit so gut!
Zumindest startet das programm wieder xD nur ich hör leider nichts^^ es handelt sich übrigens beidemale um wav-datein nun möglcihe fehler worans leigen könnte das ich nichts höre, weis ja nich^^ also erstmal der mediaplayer is jetzt "unsichtbar" macht ja soweit nichts, könnt ich auch ändern der devicetyp steht natürlich auf wav im objektinspektor steht weiterhin bei filename das eine lied drin, das kann ja theoretisch nicht sein ich schau mal noch, vllt liegts an irgendner eigenschaftseinstellung...? (ihr müsst entschuldigen meine tastatur reagiert seit neuerdings nich mehr ganz...muss ich mich auch mal drum kümmern) |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
also irgendwie funktioniert das ganze immer noch nich
wie gesagt programm öffnet aber ich höre keine lieder... |
Re: Programm mit 2 Liedern /MediaPlayern -> Error
tut mir leid wegen dem mehrfach-post...
mir ist etwas womöglich wichtiges aufgefallen da das ganze program ziemlich komplex ist und noch mehr geplant ist (war...xD) hatte ich am anfang zwei Formulare geöffnet Unit1 Unit2 und gespeichert etc, ich hatte es zwischenzeitlich so das ein Button in Unit1 beim betätigenUnit2 öffnet das ganze hatte ich dann aus verschiedenen gründen wieder "entfernt" Unit2 ist aber bestehen geblieben die am anfang angegebene Felermeldung führt zum Quelltext, aber nicht dem der Unit1, auch nicht dem der Unit2 sondern öffnet einen neuen Tab und zwar Programm1 (wie ich das ganze genannt hab - im normalfall als Project1 vorgegeben)
Delphi-Quellcode:
rot markiert und unten als fehler angegeben wird Application.CreatForm(Tform2, Form2);
program Programm1;
uses Forms, Unit1 in 'Unit1.pas' {Form1}, Unit2 in 'Unit2.pas' {Form2), {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.CreateForm(TForm2, Form2); Application.Run; end. entfern ich das ganze geht natürlich nichts mehr... könnte mein problem damit zusammenhängen theoretisch hat das ja nichts mit der musik zu tun aber delphi verweist nunmal darauf... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:05 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