Autor | Thema: MP3 | | 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
|
| | 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
|
| | 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!
|
| | 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
|
| | 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
|
| | 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!!!
|
|
|