Playsound_()->Winapi

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Playsound_()->Winapi

Beitrag 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?
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
roherter
Beiträge: 1407
Registriert: 10.04.2005 18:58
Kontaktdaten:

Beitrag von roherter »

jo hab ich mir schon gedacht danke dir :lol:

Edit:Irgendwie habe ich meine Brille verlegt.
Purebasic 5.0 32bit und 64 bit

I'm back from hell
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Schade das sowas nicht auch mit MP3s geht :-( Da bleibt wohl immer nur InitMovie() (=DirectX) übrig...
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

kannst dir ja nen mp3-decoder selberstricken....
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
RiSiNG
Beiträge: 92
Registriert: 18.06.2006 10:31
Kontaktdaten:

Beitrag von RiSiNG »

Kaeru Gaman hat geschrieben:kannst dir ja nen mp3-decoder selberstricken....
Hast du auch ne Idee, wie so etwas funktionieren könnte? /:->
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Aber es ist nicht einfach, sonst würde es sicher schon eine UserLib geben ;)
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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...
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
inc.
Beiträge: 348
Registriert: 27.10.2004 12:25

Beitrag 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.
Hier gibts die OOP Option für PureBasic.
Antworten