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
EWeiss
(Gast)

n/a Beiträge
 
#1

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
 
#2

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
 
#3

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
TiGü

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

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 21. Feb 2017, 12: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.
Speichere das doch einfach ins Temp-Verzeichnis (System.IOUtils.TPath.GetTempPath) und lösche es hinterher.
Es ist völlig legitim, dass portable Programme für derartige Zwecke etwas irgendwohin zwischenspeichern und hinterher wieder aufräumen.
  Mit Zitat antworten Zitat
Benutzerbild von BlackSnag
BlackSnag

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

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 27. Feb 2017, 07:54
Danke für die Hilfe.
Funktioniert jetzt wunderbar.

Grüße

BlackSnag
Wenn Rechtschreibfehler drin sind tut es mir leid.
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#6

AW: Audio Resource mit Windows Mediaplayer wiedergeben

  Alt 3. Mär 2017, 09:59
Mit einem kleinen Trick (RIFF-Header vor ein MP3-File setzen) funktioniert es auch mit Streams.

http://www.delphipraxis.net/359108-post13.html
http://www.delphipraxis.net/attachme...fo.src_172.zip
Angehängte Grafiken
Dateityp: jpg ConvertToWav.jpg (25,2 KB, 16x aufgerufen)
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#7

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
 
#8

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
 
#9

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

 

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:50 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