Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Programm mit 2 Liedern /MediaPlayern -> Error (https://www.delphipraxis.net/128877-programm-mit-2-liedern-mediaplayern-error.html)

füchschen29 8. Feb 2009 11:12


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

EWeiss 8. Feb 2009 11:46

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
Hast doch selbst schon beantwortet.
Zitat:

Der Gerätename wird von diserAnwendung bereits als Alias benutzt.
gruss Emil

füchschen29 8. Feb 2009 11:51

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

hoika 8. Feb 2009 11:58

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
Hallo,

setze doch mal Shareable bei beiden TMediaplayern auf True.


Heiko

füchschen29 8. Feb 2009 12:04

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
selber fehler...

Poseidon 8. Feb 2009 12:09

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:
procedure DeineProcedure;
begin

begin
Mediaplayer1 benutzen
end;

begin
mediaplayer2 benutzen
end;

end;
Wie du die Mediaplayer benutzen musst weißt du ja :wink:

füchschen29 8. Feb 2009 12:16

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

Poseidon 8. Feb 2009 12:25

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
hmm.. versteckte buttons erscheinen lassen? Nicht grade stillvoll. Machst doch lieber so:
Delphi-Quellcode:
procedure Button1.click (Sender: Objekt);
begin
Button2.click;
Button3.click;
end;
Dann können die 2 Buttons unsichtbar bleiben und werden trotzdem genutzt, nur ein button drücken statt 3, ja ich bin faul :mrgreen:

füchschen29 8. Feb 2009 12:30

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^^

füchschen29 8. Feb 2009 12:34

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
Delphi-Quellcode:
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;
so sieht der erste mediaplayer aus, der zweite genauso nur anderes lied, die eigenschaften alles entsprechend angepasst
durchaus möglich das ich was falsch gemacht hab, und das lied, wenn ich nur einen mediaplayer hab, nur durch zufall lief xD

BullsEye 8. Feb 2009 12:39

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
[OT]
Du solltest keinen direkten Pfad verwenden (d: ...)
[/OT]

Poseidon 8. Feb 2009 12:41

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
Probiers mal so:
Delphi-Quellcode:
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;
Vorher bei beiden Mediaplayern autoentable und entable auf false stellen. Müsste eigendlich funtzen.

thkerkmann 8. Feb 2009 14:07

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

Poseidon 8. Feb 2009 16:10

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:

Zitat von thkerkmann
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.

Sry hab selbst ausprobiert, und 2 Mediaplayer klaeizeitig abzuspielen geht sehr wohl!!

Poseidon 8. Feb 2009 16:24

Re: Programm mit 2 Liedern /MediaPlayern -> Error
 
Delphi-Quellcode:
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.
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.

füchschen29 8. Feb 2009 19:45

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 ;-)

Poseidon 10. Feb 2009 18:52

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:
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;
Wenn Button2 und 3 visible:= false sind dürfte alles glatt laufe :mrgreen:

füchschen29 10. Feb 2009 20:38

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)

füchschen29 13. Feb 2009 15:37

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...

füchschen29 13. Feb 2009 16:48

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:
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.
rot markiert und unten als fehler angegeben wird Application.CreatForm(Tform2, Form2);

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