AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MediaPlayer wieder Freigeben

Ein Thema von Flom · begonnen am 22. Feb 2007 · letzter Beitrag vom 26. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#1

MediaPlayer wieder Freigeben

  Alt 22. Feb 2007, 18:13
Hallo,
Wie kann ich den MediaPlayer für Dateien wenn er nicht gebraucht wird wieder Freigeben?
Folgendes Problem beim ändern der ID3v1 / v2 Einträge kann ich jedoch nicht wieder die Änderungen neu Speichern.
Ich benutze folgendes:
Delphi-Quellcode:
      MediaPlayer1.FileName := playdir + playfile;
      MediaPlayer1.Open;
      MediaPlayer1.Stop;
      MediaPlayer1.EnabledButtons:=[btPlay, btPause, btStop];
Ich denke das es am Media Player liegen sollte.
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MediaPlayer wieder Freigeben

  Alt 22. Feb 2007, 18:57
Schon mal Close probiert?

Und bei nem kurzen Blick in die Delphi-Hilfe bin ich auf die Eigenschaft Shareable gestoßen, die standardmäßig false ist. Evtl. kann man ja schreibend auf die Datei zugreifen, wenn man das auf True setzt...
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#3

Re: MediaPlayer wieder Freigeben

  Alt 22. Feb 2007, 18:59
bei Close kommt eine meldung von wegen kein PCI Midi Gerät ausgewählt
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: MediaPlayer wieder Freigeben

  Alt 22. Feb 2007, 19:03
Open öffnet ein Gerät, Close schließt es wieder. Abspielen geht dann natürlich nicht mehr. Daher mein Hinweis auf Shareable, bei dem ich aber nicht weiß, ob das was bringt, weil ich mit dem TMediaplayer keine Erfahrung habe.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#5

Re: MediaPlayer wieder Freigeben

  Alt 22. Feb 2007, 19:34
okay ich hab mir jetzt gedacht ich schmeiße das Close auf den Button "Eintrag Ändern" rein, jedoch speichert er immer noch nicht die Dateien und ich weiß nicht wieso!
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#6

Re: MediaPlayer wieder Freigeben

  Alt 23. Feb 2007, 05:41
Moin!

Eine Möglichkeit:
Delphi-Quellcode:
If MediaPlayer1.FileName<>'then begin
   MediaPlayer1.Close;
   MediaPlayer1.FileName:='';
end;
Alternativ kannst Du Delphi-Referenz durchsuchenTMediaPlayer.Mode verwenden und prüfen, ob der MP geöffnet ist und ihn nur dann schließen.

Delphi-Quellcode:
Case Medialayer1.Mode of
   mpNotReady,
   mpStopped,
   mpPlaying,
   mpRecording,
   mpSeeking,
   mpPaused,
   mpOpen: Medialayer1.Close;
   else ShowMessage('Der MP hatte nix geöffnet.');
end;
@Gausi: Delphi-Referenz durchsuchenShareable ist dazu da, das ein MCI-Gerät (zb CD), von mehreren Instanzen benutzt werden kann.

Grüßle!
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: MediaPlayer wieder Freigeben

  Alt 23. Feb 2007, 10:13
Hmm. Dann ist das mit dem Shareable wohl ne Sackgasse. Ich kenn ja seinen Code, weil er mich mal per ICQ angesprochen hat. Sein Problem ist ja eigentlich "nur", dass das Schreiben des ID3-Tags schiefläuft. Knackpunkt ist diese Zeile aus meiner ID3-Unit:Stream := TFileStream.Create(Filename, fmOpenReadWrite or fmShareDenyWrite); die fehlschlägt, wenn die Datei vom Mediaplayer benutzt wird. Ich hatte mal den Mediaplayer-Kram auskommentiert, und dann lief das durch. Meine Idee war, dass der Mediaplayer durch das Open generell einen Schreibzugriff auf die Datei unterbindet und die Property Shareable sah da ganz gut aus. Näher hab ich mich damit nicht beschäftigt.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#8

Re: MediaPlayer wieder Freigeben

  Alt 23. Feb 2007, 11:25
also am MediaPlayer kann es nicht liegen Gausi mit dem Tipp von Sunlight7 geht's auch nicht! ich werde es jetzt mal als einzel Projekt nachbauen und gucken ob der Fehler auch auftritt wenn ja dann muss ein Logik Fehler da sein bei mir.

Melde mich über Edit ^^

Edit: Scheint ein prinzipielles Denk problem meiner Seite zu seien! Ich hab dir mal meine Unit per E-Mail geschickt
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
885 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: MediaPlayer wieder Freigeben

  Alt 23. Feb 2007, 12:20
Ich glaube, ich klinke mich jetzt an dieser Stelle aus. Ich halte es für unsinnig, sowohl per ICQ und Mail, als auch hier im Forum zu diskutieren. Ich denke, das Forum sollte die primäre Anlaufstelle sein.

Habe dein Projekt per Mail bekommen, compiliert und ID3-Tags erfolgreich geändert. Das einzige unsinnige, was mir noch aufgefallen ist, ist das:if Id3v1Tag.TagExists = CheckBox1.Checked then Wenn man Felder für den ID3v2 oder v1 Tag ausfüllt und speichern klickt, dann erwarte ich als User, dass das auch gespeichert wird.
Hinweis: Die WriteToFile-Routinen überprüfen natürlich vorher, ob in der Datei bereits ein Tag vorhanden ist. Wenn ja, wird der alte überschrieben, wenn nein wird einer erstellt.

Und zum Mediaplayer. Fakt ist doch: Wenn du das Mediaplayer-Gedöns aus dem anderen Projekt auskommentierst, dann werden die Tags geändert - hab ich grad nochmal ausprobiert. Wie du jetzt auf die Idee kommst, dass dein Problem nicht am Mediaplayer liegt, ist mir schleierhaft.
  Mit Zitat antworten Zitat
Flom

Registriert seit: 19. Sep 2006
126 Beiträge
 
#10

Re: MediaPlayer wieder Freigeben

  Alt 23. Feb 2007, 12:27
so gausi klar ist die zeile quatsch ^^

Nur ich habe gerade raus gefunden durch rum fummeln das er die ID3V1 Einträge Speichert! Nur nicht die ID3v2 Einträge... nur warum?
Folgendes Benutze ich zum Speichern:
Delphi-Quellcode:
procedure TForm4.Button3Click(Sender: TObject);
begin

if Id3v1Tag.Tagexists = True then
begin
  Id3v1Tag.Title := Edit_Titel.Text;
  Id3v1Tag.Artist := Edit_Artist.Text;
  Id3v1Tag.Album := Edit_Album.Text;
  //Id3v1Tag.Comment := Edit_Comment.Text;
  Id3v1Tag.Genre := Edit_Genre.Text;
  Id3v1Tag.Track := Edit_ID.Text;
  Id3v1Tag.Year := Edit_Jahr.Text;
  // Tag in die Datei schreiben
  id3v1Tag.WriteToFile(Edit1.Text);
end;
///////////////////////////////////////////
if Id3v2Tag.exists = True then
begin
  Id3v2Tag.Title := Edit2_Titel.Text;
  Id3v2Tag.Artist := Edit2_Artist.Text;
  Id3v2Tag.Album := Edit2_Album.Text;
  //Id3v2Tag.Comment := Edit2_Comment.Text;
  Id3v2Tag.Genre := Edit2_Genre.Text;
  Id3v2Tag.Track := Edit2_ID.Text;
  Id3v2Tag.Year := Edit2_Jahr.Text;
  // Weitere Textframes setzen
  ID3v2Tag.Copyright := Edit2_Copyright.Text;
  ID3v2Tag.OriginalArtist := Edit2_OriginalArtist.Text;

  id3v2Tag.WriteToFile(Edit1.Text);
end;
close;
end;
zwecks media player: ich habs so gemacht das wenn jetzt auf Eintrag ändern geklickt wird automatisch der MP geschloßen wird also kanns so gesehen nicht mehr an ihm liegen.

Edit: bins WE über nicht da :/
Ein wahrhaft großer Mann wird weder einen Wurm zertreten noch vor dem Kaiser kriechen.

Benjamin Franklin
17.01.1706 - 17.04.1790
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz