Seite 1 von 2

Playsound_()->Winapi

Verfasst: 21.06.2006 22:05
von roherter
Kennt sich jemand mit dieser Api funktion aus versuch sie als alternative zu benutzen um kein directx verwenden zu müssen und da ich die sound über Includebinary eingebunden habe will ich sie von da aus auch abspielen.
die function:

Code: Alles auswählen

playsound_(#SND_RESOURCE,Hmode,?sound2)
;-Ich weiß nur nicht wie ich zu dem Module handel komme->Handle der executable.
ps:Ich habe schon alle boards durchsucht vielleicht habe ich was übersehen?

Verfasst: 21.06.2006 22:19
von ts-soft
Über IncludeBinary entstehen keine Resourcen im Sinne von Windows :lol:

Code: Alles auswählen

DataSection
  sound: IncludeBinary "C:\WINDOWS\Media\Windows XP-Startvorgang.wav"
EndDataSection

PlaySound_(?sound, 0, #SND_MEMORY)
und #SND_RESOURCE ist der letzte Parameter, in welche Windows-Hilfe haste denn nachgeguckt?

Verfasst: 21.06.2006 22:23
von roherter
jo hab ich mir schon gedacht danke dir :lol:

Edit:Irgendwie habe ich meine Brille verlegt.

Verfasst: 15.07.2006 13:58
von Delle
Schade das sowas nicht auch mit MP3s geht :-( Da bleibt wohl immer nur InitMovie() (=DirectX) übrig...

Verfasst: 15.07.2006 14:16
von Kaeru Gaman
kannst dir ja nen mp3-decoder selberstricken....

Verfasst: 15.07.2006 17:46
von RiSiNG
Kaeru Gaman hat geschrieben:kannst dir ja nen mp3-decoder selberstricken....
Hast du auch ne Idee, wie so etwas funktionieren könnte? /:->

Verfasst: 15.07.2006 18:18
von Kaeru Gaman
Snoop0304 hat geschrieben:
Kaeru Gaman hat geschrieben:kannst dir ja nen mp3-decoder selberstricken....
Hast du auch ne Idee, wie so etwas funktionieren könnte? /:->
ist das format denn geheim? ...ich meine, nicht...

das geht wie jedes andere codier-decodier protokoll auch.

Verfasst: 15.07.2006 18:26
von Delle
Aber es ist nicht einfach, sonst würde es sicher schon eine UserLib geben ;)

Verfasst: 15.07.2006 18:37
von Kaeru Gaman
es gibt auch für ne menge einfache sachen noch keine userlibs, also, das ist kein kriterium...


btw:
man kann WAV-sounds auch mit dem PB-eigenen Befehl komprimiert includieren,
und zur laufzeit in den Speicher entpacken, bevor man CatchSound benutzt...

mal ganz abgesehen davon, dass auch nichts degegen spricht,
ein programm mit unterverzeichnissen für daten auszuliefern...

Verfasst: 16.07.2006 00:09
von inc.
Schade das sowas nicht auch mit MP3s geht
Das alte Problem mit "seeken" und der Länge des Streams?

Habe gerade ein Inlcude geschrieben, welches die PB internen Movie Befehle mit Zusätzen versieht sodass eine DShow Befehlsreihe bei rausgekommen ist, die alles abspielt, was als Dshow FIlter im System vorliegt.

mp3, mp4, avi, ac3, mp2, wav, mpeg2, mpeg1, vob, egal ob von Shoutcast streams DVD, DVB etc.

Ist momentan in der Testphase und bis jetzt wird die Länge immer richtig angezeigt sowie zudem bei Movies der richtige Framecount.

- Die aktuelle Directshow Filterkette kann angezeigt werden
- Grab Frame2Image
- Alternative Video Renderer (und da beiss ich mir grade dran die Zähne aus - nicht diese aufzurufen, sondern individuell die Pins zu verbinden)
- Alternativ WaveOut neben dem DirectSound Device (in Planung)



Was Userlibs angeht. Da muss man "nur" anfangen LibAVcodec zu nutzen und die benötigten decoder rausziehen und als Soundplugins verfügbar machen.
Generell ist LibAvcodec interessant, da es alle Video und Audiocodecs unterstützt --- vollkommen unabhängig M$ und somit Dshow. Siehe VideoLan, der nutzt LibAVcodec und kann alles abspielen, auch wenn der User keine der benötigten Codecs installiert hat.