Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi MP3s aus Resource- Datei in Mediaplayer laden?? (https://www.delphipraxis.net/32809-mp3s-aus-resource-datei-mediaplayer-laden.html)

pnweb 28. Okt 2004 09:54


MP3s aus Resource- Datei in Mediaplayer laden??
 
Hallo!

Ich habe folgendes Problem:
Ich habe ein Programm programmiert, in welchem MP3s und andere Dateien, die extern gelagert sind, aufgerufen werden. Ich möchte allerdings nicht, dass dieses Dateien von jedem Anwender verändert oder kopiert werden können.
Um dies zu verhindern, habe ich hier im Forum gelesen, kann man Resourcen verwenden.
Nun möchte ich nur gerne wissen, wie man MP3s von Resourcen im Mediplayer abspielen kann??
Oder ist es vielleicht einfacher die Dateien, die nicht sehr gross sind, in die Exe- Datei miteinzubinden?? Wenn ja, wie geht das??

FreewareFire 28. Okt 2004 10:08

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Wenn ich nicht völlig daneben liege: Das geht nicht - wie willst du eine Resource abspielen, wenn dein Programm nur externe Dateien abspielt? Du könntest das nur realisieren, wenn du die mp3 als stream abspielst - sprich dein Programm selbst die arbeit des entschlüsseln der mp3 dateien übernimmt - also keine vorgefertigten hilfsmittel. Sieht nicht sehr gut aus.

Gruß FreewareFire

pnweb 28. Okt 2004 11:02

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Ich dachte ich kann die MP3- Datei, wie ich es schon bei meinen Textdateien gemacht habe, wie folgt in eine Resource- Datei implementieren (Die Mp3 soll dann nicht mehr extern gespeichert werden, sondern innerhalb der RC- Datei)

Bezeichner Typ Pfad
Song MP3 "song.mp3"

Aber so eine Procedure Mediplayer.LoadFromResource(..) gibt es nicht! Wie geht das denn mit dem Stream oder wie kann ich die MP3 in die exe- Datei reinpacken??

NikoMitDaMacht 28. Okt 2004 11:17

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Du kannst ja die mp3 von deinem programm extrahieren lassen, sie dann gleich öffnen/abspielen und
dann wieder löschen. So kann man sie fürs erste nicht verändern.

FreewareFire 28. Okt 2004 11:22

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Zitat:

Zitat von pnweb
Ich dachte ich kann die MP3- Datei, wie ich es schon bei meinen Textdateien gemacht habe, wie folgt in eine Resource- Datei implementieren (Die Mp3 soll dann nicht mehr extern gespeichert werden, sondern innerhalb der RC- Datei)

Bezeichner Typ Pfad
Song MP3 "song.mp3"

Aber so eine Procedure Mediplayer.LoadFromResource(..) gibt es nicht! Wie geht das denn mit dem Stream oder wie kann ich die MP3 in die exe- Datei reinpacken??

Also das du keine Procedure findest ist richtig - für mp3 gibt es sie nicht! Mit dem Stream müsstest du schon kenntnisse über das mp3 format haben - ein stream ist eine folge von daten (bytes) - diese liest z.B. ein mp3 programm aus und gibt sie als sound aus. Das ist aber ziemlich schwer für den Anfang. Und selbst wenn du die daten in die exe bekommst kannst du sie noch immer nicht abspielen. Du musst also einen eigenen mp3-encoder schreiben und dann die daten aus dem stream (z.b. eine datei) lesen. Dann geht das ganze. Oder du machst das wie folgt:

1. Schreib dir ein kleines Programm das die mp3 verschlüsselt.
2. dann packst du die verschlüsselte mp3 zu deinem programm zu
3. füge zu deinem programm eine entschlüsselung zu - entschlüssel die datei z.b. in einen temporären Ordner
4. Spiel die Datei ab - wenn abgespielt, die entschlüsselte datei wieder löschen.

was anderes, "einfaches" fällt mir da momentan auch net ein.

oder such mal nach einem mp3 - encoder/decoder code für delphi.

NikoMitDaMacht 28. Okt 2004 11:31

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
so bekommst du sie aus der anwendung raus:
Delphi-Quellcode:
var
tr:TResourcestream;
begin
   //Extract
        tr:=tresourcestream.create(hinstance,'Song',RT_RCDATA);
        if not FileExists('file.mp3') then tr.savetofile('file.mp3') else ShowMessage('FEHLER: Datei konnte nich erstellt werden!';
        tr.Free;
end;

und so rein:

Song RCDATA "song.mp3"

pnweb 28. Okt 2004 11:44

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Vielen Dank für die ganzen Antworten. So ein Stream oder ein Verschlüssungsprogramm ist mir zu komplizert. Ich bin noch nicht so erfahren in Delphi. Ich glaube dann bleibt mir keine andere Möglichkeit, als die Dateien extern zu belassen. Bei der letzten Lösung könnte man ja, wenn das Programm läuft, die Dateien immer noch aus dem Verzeichnis kopieren.

Ich wollte vielleicht ein paar Freeware- MP3s von flashkit für mein Programm nehmen.. Wie ist das denn mit der Copyright. Ist es dann noch erlaubt die Dateien mit dem Programm zu veröffentlichen??

FreewareFire 28. Okt 2004 22:07

Re: MP3s aus Resource- Datei in Mediaplayer laden??
 
Solange der Author der MP3's das gestattet ist das OK. Wenn keine Angaben vorhanden sind würde ich versuchen
Kontakt aufzunehmen und das zu klären.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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