AGB  ·  Datenschutz  ·  Impressum  







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

MP3 mit kompilieren

Ein Thema von 150gozilla · begonnen am 8. Sep 2005 · letzter Beitrag vom 12. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#11

Re: MP3 mit kompilieren

  Alt 8. Sep 2005, 18:01
Zitat von dizzy:
Warum sollte man ein mp3 als Wave gelten lassen, wenn es doch eh .mp3 heisst und auch die darin zu erwartenden Daten enthält!? Ein RIFF-Header hat imho noch weniger etwas in einem mp3 verloren als mp3-Daten in einem RIFF-Wave
Das führt für mein Verständnis zunächst lediglich zu einer Vermischung der Formate und damit einhergehender Uneindeutigkeit insbesondere der Dateiendung.
Du hast natürlich nicht ganz Unrecht, mit dem RIFF-Header ist aber so (bei MP3s wird eh' der Anfang übersprungen bis das erste gültige SyncWord gefunden wird).

Hab' gerade schon mal angefangen was zu hacken 8)

Wenn's fertig ist (kann allerdings noch ein paar Tage dauern), dann wird's analog wie PlaySound funktionieren, allerdings mit MP3-Dateien (über Delphi-Streams + acm-Streaming + Wave-Ausgabe im eigenen Thread --- das braucht bestimmt mind. 3 Tage Debugging ).
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#12

Re: MP3 mit kompilieren

  Alt 8. Sep 2005, 18:17
Lecker! Mh, wäre dass dann sogar als (kleiner) Ersatz für die BASS.DLL anzusehen? Ich bin gespannt!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#13

Re: MP3 mit kompilieren

  Alt 9. Sep 2005, 20:38
Ich hab' auf jeden Fall schon mal ein kleines Tool für 150gozilla gemacht, mit dem man MP3s ohne wirkliche Konvertierung in WAVEs umwandeln kann (es wird dann ein entsprechender RIFF-Header davor gesetzt und mit der Erweiterung WAV abgespeichert).

Das Resultat kann man dann als Ressource einbinden und mit PlaySound direkt abspielen 8)
Angehängte Dateien
Dateityp: zip mp3info.exe_115.zip (219,5 KB, 20x aufgerufen)
Dateityp: zip mp3info.src_172.zip (11,7 KB, 33x aufgerufen)
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#14

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 08:55
Hi danke für das tool, nur funzt es nicht.

ist keine gültige win 32 anwendung^^

Das ist alle hier nen bissl kompliziert
Chris
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#15

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 09:44
Eigentlich sollte es gehen ... ich schau gerade mal ...

[Weiter]

Huch, du hattest Recht. Ich hatte versucht, die JCL-Debug-Infos mit dem GNU-Utility "strip" rauszumachen, aber das hat wohl die EXE zerschossen.

Als Anlage eine neuere Version, mit der es einwandfrei klappen sollte. Einfach ein MP3-File draufziehen und dann auf "Convert to wav" klicken. Die Sourcen kommen später nach, ich bin gerade mitten im Coden des ACM-Streaming.

Noch ein Hinweis: PlaySound "mag" keine VBR-MP3s, da werden vom Ende immer ein paar Zehntelsekunden weggelassen - in dem Fall solltest du einfach ca. 1 Sekunde Stille anhängen.
Angehängte Dateien
Dateityp: zip mp3infoconv.exe_148.zip (756,6 KB, 33x aufgerufen)
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#16

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 09:57
Funzt auch, ist bestimmt ein Fehler in der Datei (exe) ...

[edit=turboPASCAL]Anhang entfernt. siehe Post von Flocke[edit]
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
150gozilla

Registriert seit: 1. Sep 2005
Ort: Taunusstein
116 Beiträge
 
Delphi 5 Professional
 
#17

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 10:01
Also er hat mir eine Wave draus gemacht *danke nochmal*

und wie binde ich die jetzt in mein Programm ein, damit es nur ein file ist (meine .exe)?
Chris
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#18

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 11:14
Zitat von 150gozilla:
und wie binde ich die jetzt in mein Programm ein, damit es nur ein file ist (meine .exe)?
Das ist bestimmt mit der Suchfunkeion der DP herrauszufenden Hier im Forum suchensound in resource einbinden

Soundressourcen

" gehört nicht zum Code...
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#19

Re: MP3 mit kompilieren

  Alt 12. Sep 2005, 13:16
In den Posts, die turboPASCAL aufgeführt hat, steht's schon recht deutlich. Hier noch einmal eine Zusammenfassung:

1. RC-Datei erstellen

Erstelle eine Textdatei mit der Endung RC (geht so weit ich weiß auch über Delphi). Als Inhalt gibst du jeweils eine Zeile mit
a) Name der Ressource
b) Typ der Ressource (hier immer WAVE)
c) Dateiname der Ressource
Beispiel:
Code:
BGSOUND WAVE "bgsound.wav"
2. RES-Datei erstellen

Rufe eine Kommandozeile auf, wechsle in dein Projektverzeichnis und rufe BRCC32 mit deiner bei (1) erstellten RC-Datei auf.
Sagen wir mal, deine Datei hieße "bgsound.rc". Beispiel:
Code:
BRCC32 bgsound.rc
Es müsste dann die Datei "bgsound.res" erstellt worden sein.

3. Ressource einbinden

Binde diese Ressource in irgendeine deiner Units ein, z.B. in das Hauptformular.
-> Suche die Stelle hinter implementation, wo {$R *.dfm} steht und füge eine neue Zeile dahinter ein für die bei (2) erstellt RES-Datei.
Beispiel:
Delphi-Quellcode:
...
implementation

{$R *.dfm}
{$R bgsound.res}

...
4. Sound abspielen

Rufe PlaySound nun einfach mit einem der Namen (1a) aus der RC-Datei auf.
Beispiel:
PlaySound('BGSOUND', hInstance, SND_RESOURCE or SND_ASYNC);
Du kannst beliebig viele Sounds in die RC-Datei packen (natürlich mit unterschiedlichen Namen). Jeder Aufruf von PlaySound stoppt aber den vorhergehenden - du kannst also immer nur einen Sound gleichzeitig abspielen.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 02:58 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