Einsteigerfragen zur PROFAN Programmierung

| Suchen
| Zurück zur Übersicht

Autor | Thema: MP3
Dieter Münz
| Datum:19.05.02 20:53 |
Hi, Meine Frage wurde zwar schon des öfteren gestellt, aber hab sie nie gelesen.... Also: Wie kann ich das Format .mp3 laden und abspielen lassen? Kapier es nicht. Mfg, Dieter
John Schroeter
| Datum:20.05.02 13:59 |
Ganz einfach. Du spielst eine MP3 per MCI-Schnittstelle (siehe Profan-Handbuch) ab, wie eine WAV-Datei. Nur musst du einen anderen Datei/Medien-Typ angeben. Anstatt 'waveaudio' wird einfach 'MPEGVideo' eingegeben: @MCISend$("open gong.mp3 type MPEGVideo alias gong") @MCISend$("play gong") 'Datei spielen ... @MCISend$("close gong") '... schließen Ich hoffe, ich konnte dir weiterhelfen. Gruß, John Schroeter
Dieter Münz
| Datum:20.05.02 21:53 |
Danke! Hat mir sehr geholfen! Jetzt habe ich aber noch ne frage... ist es möglich mit profan die Lautstärke der Boxen zu regeln?? (Wie Windows Media-Player?) Dafür seh ich wirklich keine lösung! Mfg Dieter!
Horst Horn
| Datum:21.05.02 13:27 (info@web-treffpunkt.de) |
Hallo Dieter Ein Quelltext von Thomas Hölzer - vieklleicht kannst Du ja etwas damit machen CU horst ' PRFellow-Vorlage ' Autor: Thomas Hölzer ' Ein Lautstärkeregler in purem Profan² ' (C) 1999 Thomas Hölzer, Siegen ' Alle Rechte vorbehalten ' Benötigt: ' Profan 6.1 (32) wg. Addr-Funktion ' Soundkarte mit installierten AUX-Treibern ' In Zukunft noch: ' Differenzierung nach linkem/rechten Kanal ' s. Proc CheckLRSupport und mmedia.hlp ' *** Powered by PRFellow 2000 *** $P+ SetErrorLevel 0 Def auxSetVolume(2) !"WINMM","auxSetVolume" Def auxGetVolume(2) !"WINMM","auxGetVolume" Def auxGetNumDevs(0) !"WINMM","auxGetNumDevs" Def auxGetDevCaps(3) !"WINMM","auxGetDevCapsA" Def GetSysColor(1) !"USER32","GetSysColor" Def CreateStatusBar(4) !"COMCTL32","CreateStatusWindowA" Def MakeLong(2)Or(&(1),Mul(&(2),$10000)) Def LoWord(1) And(&(1),$FFFF) Def HiWord(1) Div&(&(1),$10000) Declare auxcaps# Declare ende% Declare hChoice& Declare hExitbtn& Declare hGroupBox1& Declare htrack&,hstatusbar1& Proc PanicRunTime SetErrorLevel -1 Declare pv% Let pv%=Val(Translate$(Mid$($profver,1,3),".","")) IfNot And(Or(Gt(InStr("32",$profver),0),Gt(InStr("NT",$profver),0)),Gt(pv%,60)) MessageBox("Dieses Programm benötigt Profan² 6.1-32 Bit","Höhere Version erforderlich",16) End EndIf SetErrorLevel 0 EndProc Proc PanicAuxDevices If Lt(auxGetNumDevs(),1) MessageBox("Die erforderlichen Sound-Treiber können nicht angesprochen werden.","Fehler",16) End EndIf EndProc Proc CheckVolumeSupport Parameters deviceid& Declare result& Let result&=1 Dim auxcaps#,48 auxGetDevCaps(deviceid&,auxcaps#,48) Case Lt(Long(auxcaps#,44),1): Let result&=0 Dispose auxcaps# Return result& EndProc Proc CheckLRSupport Parameters deviceid& Declare result& Let result&=1 Dim auxcaps#,48 auxGetDevCaps(deviceid&,auxcaps#,48) Case Lt(Long(auxcaps#,44),3): Let result&=0 Dispose auxcaps# Return result& EndProc Proc OnShow Declare i%,num& SendMessage(htrack&,1030,0,MakeLong(0,100)) Let num&=auxGetNumDevs() Dim auxcaps#,48 WhileNot Gt(i%,Sub(num&,1)) auxGetDevCaps(i%,auxcaps#,48) AddChoice(hchoice&,String$(auxcaps#,8)) Inc i% Wend Dispose auxcaps# SendMessage(hchoice&,334,0,0) EndProc Proc htrackClick Declare idx&,l&,vol& Let idx&=SendMessage(hchoice&,327,0,0) Let l&=SendMessage(htrack&,1024,0,0) 'Let x&=Mul(Div&($FFFF,100),x&) Let l&=Mul(655,l&) auxSetVolume(idx&,MakeLong(l&,l&)) EndProc Proc OnIdle Declare idx&,vol&,lvol&,rvol&,t$ Let idx&=SendMessage(hchoice&,327,0,0) CheckVolumeSupport idx& EnableWindow htrack&,&(0) If Equ(&(0),0) Let vol&=0 Let t$ ="Nicht unterstützt " Else EnableWindow htrack&,1 auxGetVolume(idx&,Addr(vol&)) Let lvol&=LoWord(vol&) Let rvol&=HiWord(vol&) 'Let vol&=Div&(vol&,Div&($FFFF,100)) Let lvol&=Div&(lvol&,655) Let rvol&=Div&(rvol&,655) If Gt(rvol&,lvol&) Let vol&=rvol& Else Let vol&=lvol& EndIf Let t$=Str$(vol&);"% " EndIf SendMessage(htrack&,1029,1,vol&) SetText hGroupbox1&,Add$(" Lautstärke: ",t$) EndProc Proc HexitbtnClick Let ende%=1 EndProc PanicRunTime PanicAuxDevices SetTrueColor 1 WindowStyle $23A WindowTitle "VolumeControl" Window Add(%maxX,50),121 - 234,170 UseIcon "" Cls GetSysColor(15) UseFont "MS Sans Serif",13,0,0,0,0 SetDialogFont 1 Let hchoice&=Control("COMBOBOX","",$54010243,20,24,192,600,%hwnd,2000,%hinstance) Let hExitbtn&=CreateButton(%hwnd,"&Fertig",155,88,60,23) Let hGroupBox1&=CreateGroupBox(%hwnd,"",2,2,224,120) Let htrack&=Control("msctls_trackbar32","",$50010011,20,52,192,25,%hwnd,2001,%hinstance) Let hStatusBar1&=CreateStatusBar($50800020,0,%hwnd,2002) SetText hStatusBar1&, " Powered by PRFellow 2000" DrawLibIcon FindFirst$(Add$($WinPath,"\SNDVOL32.EXE")),0,25,83 Case %IORESULT: DrawIcon "WINDOWS",25,85 SetWindowPos %hwnd = 293,121 - 234,170;-1 OnShow WhileNot ende% OnIdle WaitInput If Equ(%key,2) Let ende%=1 ElseIf Equ(%key,4) Case GetFocus(hexitbtn&): SetFocus(hchoice&) ElseIf GetFocus(hExitbtn&) hExitbtnClick ElseIf GetFocus(htrack&) htrackClick EndIf Wend End
John Schroeter
| Datum:23.05.02 20:44 |
Das geht aber noch einfacher. Wenn 'gong' wie im Beispiel oben der Alias ist, wird die MP3 recht laut abgespielt, der Wert kann also auch nach unten korrigiert werden: print @mcisend$("setaudio gong volume to 1000") print @mcisend$("setaudio gong volume to 100") print @mcisend$("setaudio gong volume to 0") ... Mit freundlichen Grüßen, John Schroeter
Dieter Münz
| Datum: 27.05.02 19:48 |
Sau geil, danke!!! Kann mir auch noch wer sagen, wie ich so nen regler wie der Mediaplayer von microsoft hinkrieg? (Also so nen balden, mit dem ich die Lautstärke regle?) Wäre super! MFG Dieter!!!

| Zurück zur Übersicht

| Ein kostenloses WebMart Forum WebMart Homepage Tools kostenlos |