AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi How to play WAV files with Wave API
Thema durchsuchen
Ansicht
Themen-Optionen

How to play WAV files with Wave API

Ein Thema von DIET3RIX · begonnen am 9. Nov 2007 · letzter Beitrag vom 26. Dez 2007
Antwort Antwort
Seite 1 von 3  1 23      
DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#1

How to play WAV files with Wave API

  Alt 9. Nov 2007, 19:22
Hallo Leute,

ich habe mich ein bissle mit low-level-api beschäftigt, wozu ich leider zu wenig Lesestoff gefunden habe.
Nun bin ich an dem Punkt angelangt, wo ich mich frage wie ich MP3 Dateien (oder andere Formate wie ogg, wma usw.) abspielen kann.

Hat da einer Ahnung von und kann mir ein bissle dabei helfen? Lesestoff zu low-level-api allg. wäre auch sehr hilfreich.

Ich bedanke mich voraus.

MFG
DIET3RIX


PS: Ich weiss das es viele MP3-Player usw. gibt, aber ich mache es für mich und um mein Wissen zu erweitern, aber auch weil Musik mein Hobby ist

[edit=SirThornberry]Titel geändert - Mfg, SirThornberry[/edit]
Dieter
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: low-level-api: MP3 abspieln

  Alt 9. Nov 2007, 21:23
Die Frage die sich für mich stellt ist: was ist für dich eine "Low-Level-API". Also entweder ich spiele sie über die WinAPI ab (ACM->WaveOut) oder ich gehe auf "low-level" und decodiere die MP3 Datei selber. Ganz Low Level wäre dann das direkte ansprechen der Soundkarte mit einem Treiber und Ausgabe des Sounds oder um hier ein wenig mehr die "higher-level API" zu nutzen, falle ich auf WaveOut zurück.

Wie schön doch solche Modewörter sind - sie sind genauso schwammig wie auch die Definition der Leute. Jeder stellt sich was anderes darunter vor, darum: was stellst du dir unter dem Begriff vor?
  Mit Zitat antworten Zitat
DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#3

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 10:53
Hi,

sagen wir es mal so.
- MCI (Media Controll Interface) zu verwenden will ich vermeiden.
- Hab leider nichts gefunden, wie ich die Soundkarte direkt ansprechen kann.
- Dann würde ich doch sagen, dass ich das ganze über die "higher-level API" (waveOutWrite) probieren möchte. (Es sei denn du hast Lesestoff zum 2. Punkt)

Ich hab mir schon gedacht, dass ich die MP3-Dateien selber decodieren muss, aber wie schnell bzw. wie langsam ist solch eine Methode?


MFG
DIET3RIX
Dieter
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#4

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 12:22
http://www.delphipraxis.net/internal...t.php?t=119063

http://www.delphipraxis.net/internal...=bassdllplayer
<--runterladen,installieren und nutzen
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#5

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 12:33
@BullsEye: Das ist ihm zu einfach, er will doch Low-Level-API-Programmieren und mp3 selbst entschlüsseln.....
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#6

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 17:40
Das schrottige MCI Interface hatte ich auch nicht vermutet. Grundlegend kannst du die MP3 Dateien auch dekodieren lassen, schliesslich ist genau dafür der ACM geschaffen worden und er liefert schon ein Datenformat welches du direkt an WaveOut weitergeben kannst. Weiterer Vorteil: Du kannst durch den ACM auch viele weitere Formate unterstützen, so lange es den entsprechenden Codec gibt. (MP3 Codec zum dekodieren ist in Windows vorinstalliert).

Und zum zweiten Punkt: Es gibt genug und genauso keine Informationen dazu. Jeder Hersteller kocht sein Süppchen beim HW Interface zu den Soundkarten etc. Manche sind gut dokumentiert, andere total schlecht bzw. gar nicht. Ausserdem müsstest du dann für jede beliebige Soundkarte bzw. Hersteller eine extra Unterstützung bauen. Dies nehmen dir sonst die Treiber vom Hersteller für Windows ab. Das ist aber nichtmal das einzige Problem. Wenn du die HW Informationen hättest, müsstest einen Treiber programmieren - und lass dir gesagt sein, dass die Welt in Windows eine komplett andere ist. Es ist nichtmal ansatzweise einfach sowas zu machen - selbst für einen erfahrenen Windows GUI Programmierer. Vor allem kannst du mit dem Teil sehr leicht für Verstimmung im System sorgen und vom totalen Hardwareverlust bis zum dauerhaften Blue-Screen System alles hinbekommen - und das noch nicht mal mit Absicht...
  Mit Zitat antworten Zitat
DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#7

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 18:35
Vielen Dank für die Information

Dann werde ich den zweiten Punkt wieder schnell vergessen, da sich die Mühe nicht wirklich lohnt.

D.h. also das ich (wma, ogg usw.) MP3-Dateien in WAV-Dateien dekodieren muss und die dann abspielen, oder?
Dann muss ich wohl sehen, wie ich das Dekodieren umsetzen kann, ohne viel Performance zu verbrauchen.

Bitte korrigier mich, wenn ich falsch liege.
Dieter
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#8

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 18:53
Und warum nimmst du dazu nicht eine gängige DLL (bass.dll, fmod.dll, squall.dll)?
Da ist das alles schon realisiert. Man muss es nur noch nutzen.
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#9

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 19:51
Zitat von DIET3RIX:
D.h. also das ich (wma, ogg usw.) MP3-Dateien in WAV-Dateien dekodieren muss und die dann abspielen, oder?
Das machen die beim ACM registrierten Audio Codecs doch schon. Vor allem sind die garantiert performanter als jeder Code von dir.
  Mit Zitat antworten Zitat
DIET3RIX

Registriert seit: 21. Feb 2006
Ort: Bonn
78 Beiträge
 
Delphi 2007 Professional
 
#10

Re: low-level-api: MP3 abspieln

  Alt 10. Nov 2007, 20:18
Ahso, ok, jetzt habe ich es verstanden. Vielen Dank!
Hast du evtl. bissle Lesestoff für mich? Wäre sehr hilfreich.

@ Progman

Weil ich die schon ausprobiert habe. Jetzt bin ich an dem Zeitpunkt angelangt, wo ich versuche das ganze selber zu programmieren.
So habe ich meinen eigenen Player wie ich den haben will und zusätzlich erweitere ich mein Wissen (höhrer Priorität).
Dieter
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 06:19 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