AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Audio Resource mit Windows Mediaplayer wiedergeben
Thema durchsuchen
Ansicht
Themen-Optionen

Audio Resource mit Windows Mediaplayer wiedergeben

Ein Thema von BlackSnag · begonnen am 21. Feb 2017 · letzter Beitrag vom 3. Mär 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von BlackSnag
BlackSnag

Registriert seit: 21. Feb 2017
5 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 07:55
Hallo alle mit einander,

ich will eine Audio-Datei aus der Ressourcen mit dem TWindowsMediaPlayer abspielen. (das Audioformat ist noch nicht fest gelegt, zurzeit wir aber .wav benutzt)
Leider Kriege Ichs einfach nicht auf die Reihe.

Über die URL konnte ich schon Dateien von der Festplatte abspielen, aber weiter bin ich auch auf dem Weg nicht gekommen.
Kann mir jemand mit seinem Latein weiter helfen ich bin mit meinem nämlich am Ende.
Hier noch ein Zusammenfassung meins Codes:
Delphi-Quellcode:
procedure PlayResource(Name: string);
var
  _ResourceStream: TResourceStream;
  _wmpMediaPlayer: TWindowsMediaPlayer;
begin
  _ResourceStream := TResourceStream.Create(HInstance, Name, RT_RCDATA);
  _wmpMediaPlayer := TWindowsMediaPlayer.Create(Self);
  _wmpMediaPlayer.Parent := Self;
  _wmpMediaPlayer.Visible := False;
  _wmpMediaPlayer.Settings.AutoStart := False;

{Hier muss die Zuweisung geschehen
Beim Laden von der Festplatte wer es:
  _wmpMediaPlayer.Url := AudioFileName;
}



  _wmpMediaPlayer.controls.play;
end
Habt bitte ein bisschen Nachsicht wenn ich mich schlecht ausgedrückt habe, dass erste Mal das ich sowas mache.

Danke im Voraus
Wenn Rechtschreibfehler drin sind tut es mir leid.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 08:32
Bringt es was, wenn du _ResourceStream.Position := 0; vor dem Abspielen setzt?
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 08:46
Moment mal, an welcher Stelle erfolgt denn die Verknüpfung zwischen den Resourcestream und dem MediaPlayer?
Zeig doch mal bitte deinen richtigen und gesamten Quelltext.
  Mit Zitat antworten Zitat
Benutzerbild von BlackSnag
BlackSnag

Registriert seit: 21. Feb 2017
5 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 09:53
Wie oben schon erwähnt komm ich die beiden einfach nicht auf einen gemeinsamen Nenner.

deswegen gibt es auch noch keine Zuweisung.

Und wegen dem Quelltext.
Das ist eigentlich der Ganze Quelltext, ich hab nur die Funktionen zum Lautsterke regeln und zum beenden weckgelassen, weil die mit dem Problem Garnichts zu tun haben können.
Wenn Rechtschreibfehler drin sind tut es mir leid.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#5

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 10:09
Du benötigst einen FileStream um die Datei abspielen zu können.
Das bedeutet du musst vorher die Datei aus der Resource extrahieren auf die Platte speichern anschließend
kannst du die Datei zum Mediaplayer Assign(Zuordnen) und abspielen.

Delphi-Quellcode:
var
  fname: string;
  fStream: TFileStream;
...
fname := ExtractFileDir(Paramstr(0))+ Name;
_ResourceStream := TResourceStream.Create(HInstance, Name, RT_RCDATA);
try
  fStream := TFileStream.Create(fname, fmCreate);
  try
    fStream.CopyFrom(_ResourceStream, 0);
  finally
    fStream.Free;
  end;
finally
  _ResourceStream.Free;
end;

MediaPlayer1.Close;
MediaPlayer1.FileName:= fname;
MediaPlayer1.Open;

end;
Davon ab
_wmpMediaPlayer.Url := AudioFileName;

ist falsch.
_wmpMediaPlayer.FileName wäre korrekt.

gruss

Geändert von EWeiss (21. Feb 2017 um 11:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von BlackSnag
BlackSnag

Registriert seit: 21. Feb 2017
5 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 10:18
Das würde Funktionieren.

Leider soll das Programm auch laufen können wenn du keine Schreibrechte hast.
Spätesten an diesem Punkt hätte man Probleme.

Trotzdem danke für die Idee.
Wenn Rechtschreibfehler drin sind tut es mir leid.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#7

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 10:29
Das würde Funktionieren.

Leider soll das Programm auch laufen können wenn du keine Schreibrechte hast.
Spätesten an diesem Punkt hätte man Probleme.

Trotzdem danke für die Idee.
Dann verwende keinen MediaPlayer sondern MMSystem.

Delphi-Quellcode:
uses mmsystem;

procedure TForm1.Button1Click(Sender: TObject);
var
  hFind, hRes: THandle;
  Song: PChar;
begin
  hFind := FindResource(HInstance, 'MainSongNameInDerResource', 'WAVE');
  if hFind <> 0 then
  begin
    hRes := LoadResource(HInstance, hFind);
    if hRes <> 0 then
    begin
      Song := LockResource(hRes);
      if Assigned(Song) then
        SndPlaySound(Song, snd_ASync or snd_Memory);
      UnlockResource(hRes);
    end;
    FreeResource(hFind);
  end;
end;
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#8

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 11:21
Davon ab
_wmpMediaPlayer.Url := AudioFileName; ist falsch.
_wmpMediaPlayer.FileName wäre korrekt.

gruss
TWindowsMediaPlayer aus WMPLib_TLB.pas ist "etwas" anders und hat andere Befehle als der eingebaute TMediaPlayer.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 11:23
Davon ab
_wmpMediaPlayer.Url := AudioFileName; ist falsch.
_wmpMediaPlayer.FileName wäre korrekt.

gruss
TWindowsMediaPlayer aus WMPLib_TLB.pas ist "etwas" anders und hat andere Befehle als der eingebaute TMediaPlayer.
OK.. Ist ja kein Beinbruch.
Destotrotz hat eine Datei auf der Platte nicht's mit ner URL gemein.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von BlackSnag
BlackSnag

Registriert seit: 21. Feb 2017
5 Beiträge
 
Delphi 10.1 Berlin Starter
 
#10

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 11:59
Davon ab
_wmpMediaPlayer.Url := AudioFileName; ist falsch.
_wmpMediaPlayer.FileName wäre korrekt.

gruss
TWindowsMediaPlayer aus WMPLib_TLB.pas ist "etwas" anders und hat andere Befehle als der eingebaute TMediaPlayer.
OK.. Ist ja kein Beinbruch.
Destotrotz hat eine Datei auf der Platte nicht's mit ner URL gemein.

gruss
Wenn das Audio File im selben Verzeichnis wie die exe befinde funktioniert es mit der URL.

Des weiteren hat TWindowsMediaPlayer kein FileName, somit kann ich es nicht zuweisen.

Ich gebe zu AudioFileName ist nicht ganz zutreffen, eigentlich müsste es AudioFilePath heißen.

Den TMediaPlayer kann ich nicht benutzen, da er teilweise gar nicht oder nur schlecht die Lautsterke regeln kann. Ich muss sie sogar während des Abspielens ändern können.
Wenn Rechtschreibfehler drin sind tut es mir leid.
  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 07:37 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