Musik
Übersicht

![]() |
ToeBBetreff: Musik |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich brauche für mein programm eine Lib welche folgendes können sollte :
-Musik Abspielen/anhalten/Pausieren -Musik ab einer Bestimmten Zeit abspielen lassen -Totale Zeit der Musik -Aktuelle abspielzeit der Musik Gibts sowas ? Also ich meine ist das dann auch Freeware ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Such mal nach bass.dll ![]() (inner forensuche) mfg |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() Aber ich kann zwar damit Abspielen, anhalten stopen usw. aber wie krig ich raus, wie lang die Musik ist und wenn ich sie abspiele welche zeit schon vergangen ist (like Windows mediaplayer) ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Mathe |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du könntest die vergangene Zeit in eine Variable abspeichern [mit MilliSecs()] und dann einfach...
Musikstartet: Variable = MilliSecs() laufzeit = MilliSecs() - Variable |
||
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
CPos#=BASS_ChannelGetPosition(music)
CLen#=BASS_ChannelGetLength(music) mfg ![]() (kommt auf deine Version draufan, nimm die neuste ![]() |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nochmal Danke =)
Aber kann ich auch manuell die Position setzten ? EDIT: Der findet die Befehle nicht, hab mir ectra nochmal eine ausem netzt gezogen, weiß aber nicht welcher version das ist. Weiß einer von euch wo ich die aktuellste version Downloaden kann ? Edit: Okay er findet nur BASS_ChannelGetLength nicht... Mal ne Frage zu BASS_ChannelGetPosition : Wie wende ich das an ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schau mal hier und auch gleich die beiliegenden Beispieldateien. Die delcs muß natürlich zuvor in dein Userlibs -Ordner. Danach werden auch die Befehle von Blitz3D erkannt.
Wie schon oben genannt ein Auszug aus dem Dreamplayer: CPos#=BASS_ChannelGetPosition(BassHandle) CLen#=BASS_ChannelGetLength(BassHandle) zum auslesen und BASS_ChannelSetPosition%(BassHandle,Position#) zum setzen der Abspielposition. Beachte, dass eine nicht private Nutzung der bass.dll eventuell Lizenzgebühren verlangt. Ich habe dafür 100€ + 19% MwSt bezahlt um Shareware auch verbreiten zu können. Informationen darüber findest du unter http://www.un4seen.com Edit1: Korrekturen durchgeführt. |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Danke ![]() Aber der gibt mir immer MAV bei dieser Zeile : Code: [AUSKLAPPEN] Channel=BASS_StreamCreateFile(0,"snd\Musik\Mus1.mp3",0,0,BASS_MUSIC_FLOAT)
Was mache ich falsch ? mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und die BASS ist zuvor auch mit BASS_Init initialisiert worden? | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Was mache ich falsch ?
Frag doch die dll ![]() Code: [AUSKLAPPEN] If not Channel=BASS_StreamCreateFile(0,"snd\Musik\Mus1.mp3",0,0,BASS_MUSIC_FLOAT)
message$ = BASS_GetErrorString () RuntimeError message$ Endif Psst....BASS_SAMPLE_FLOAT (ist zwar das gleich, aber gewöhn dir sowas nicht an. |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
@hectic : ja
@ Abrexxes : Jetzt hab ichs so hingeschrieben wie du es gesagt hast und jetzt kommt MAV und der zeig im Debugger gar nix mehr an ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann liegt der Fehler nicht an Bass sondern an deinem Code oder deiner Installation/Umbegung. Bass kann nämlich keine MAV im blitz Compiler erzeugen, er fängt Fehler selbst ab.
Du könntest jetzt nur noch denn "gesamten" Code posten damit wir da suche. Edit, funktioniert die Demo_stream.bb im Download? cu |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja Demo_stream funtz....
Hier mal der Code : Code: [AUSKLAPPEN] Include "inc\Bass.bb"
Include "inc\escape.bb" hWnd = GetActiveWindow() If Not BASS_Init(-1,44100,0,hWnd,0) Then RuntimeError "Konnte Bass.dll nicht initialisieren" EndIf If Not BASS_Start() Then BASS_Free() RuntimeError "Bass.dll konnte nicht gestartet werden" EndIf Graphics3D 1024,768,16,2 SetBuffer BackBuffer() SeedRnd MilliSecs() ;AmbientLight 50,50,50 Global CPiv = CreatePivot() Global CAM = CreateCamera(CPiv) PositionEntity CAM,0,0,-50 CreateListener(CAM,0.1,1,20) Global sp = CreatePlane() PositionEntity sp,0,-10,0 tex = LoadTexture("gfx\Plane.png") EntityTexture sp,tex Global SoundPiv = CreatePivot() Global PatMesh = CreateMesh(CAM) Global PatSurf = CreateSurface(PatMesh) Global PatTex = LoadTexture("gfx\Particles.png",2) Global Explo = Load3DSound("snd\explosion1.wav") EntityTexture PatMesh,PatTex EntityFX PatMesh,2+1 EntityBlend PatMesh,3 Global Rakete = LoadMesh("mod\Rakete.b3d") ScaleEntity Rakete,0.01,0.01,0.01 HideEntity Rakete Global Rohr = LoadMesh("mod\Rohr.b3d") ScaleEntity Rohr,0.03,0.03,0.03 HideEntity Rohr Global HM = LoadTerrain("gfx\HM.png") ScaleEntity HM,0.5,10,0.5 Tex = LoadTexture("gfx\Grass10.jpg") ScaleTexture Tex,5,5 EntityTexture HM,Tex PositionEntity HM,-64,0,-64 TerrainDetail HM,2000 TerrainShading(HM,1) EntityPickMode HM,2 Global GlobalSpeed# =1 Global PatAkt = 0 Const MaxPat = 65535 Type a Field x#,y#,z# Field ExploPat Field PartlPat Field ExploSpeed# Field SmokeSpeed# Field PartlSpeed# Field ExploRad# Field P_F[4] Field Mesh Field rak Field zeit End Type Dim pat_on(MaxPat) Dim pat_pos#(MaxPat,2) Dim pat_spe#(MaxPat,2) Dim pat_typ(MaxPat,1) Dim pat_w#(MaxPat,1) Dim pat_a#(MaxPat,1) Dim pat_f(MaxPat,2) Dim pat_sc#(MaxPat) Dim pat_gew#(MaxPat) LoadShow("Show1") ;Channel=BASS_StreamCreateFile(0,"snd\Musik\Mus1.mp3",0,0,BASS_SAMPLE_FLOAT) If Not BASS_StreamCreateFile(0,"snd\Musik\Mus1.mp3",0,0,BASS_MUSIC_FLOAT) message$ = BASS_GetErrorString () RuntimeError message$ EndIf If Not Channel Then BASS_Free() RuntimeError "Konnte die Datei nicht laden, möglicherweiße existiert die Datei nicht!" EndIf Global Lenght = BASS_ChannelGetLength(Channel) If Not BASS_ChannelPlay(Channel,BASS_SAMPLE_LOOP) Then BASS_MusicFree(Channel) BASS_Free() RuntimeError "Konnte Datei nicht abspielen!" EndIf BASS_ChannelPause(Channel) EG_Style("gt3") Global Toolbar = LoadAnimImage("gfx\Toolbar.png",32,32,0,3) : MaskImage ToolBar,255,0,255 Global win.EG_Window = EG_Window(0,500,1024,268,"Main Window",2+4+8+16) Global icon.EG_IconLine = EG_IconLine(win,10,-15) EG_IconAdd(icon,Toolbar,0,"Play",0) EG_IconAdd(icon,Toolbar,2,"Pause",0) EG_IconAdd(icon,Toolbar,1,"Stop",0) Buffer = CreateBank(512 * 4) Repeat Time = MilliSecs() FPS_C = FPS_C + 1 If FPS_MS <= MilliSecs()-1000 FPS = FPS_C:FPS_C = 0:FPS_MS = MilliSecs() If MouseDown(2) And Turn = 0 And Show = 0 Turn = 1 MoveMouse 1024/2,768/2 EndIf If Turn = 1 TurnEntity CPiv,+MouseYSpeed(),0,0,0 TurnEntity CPiv,0,-MouseXSpeed(),0,1 If MouseDown(2) = 0 Turn = 0 EndIf MoveEntity CAM,0,0,MouseZSpeed() If KeyHit(2) Show = 1 - Show RenderWorld() Text 1,1,"Fps:"+FPS+":"+Time2 Plot MouseX(),MouseY() EG_Main() If eg_event_iconline = icon Select eg_event_number Case 1 BASS_ChannelPlay(Channel,BASS_SAMPLE_LOOP) Case 2 BASS_ChannelPause(Channel) Case 3 BASS_ChannelStop(Channel) End Select EndIf Color 255,255,255 Rect win\x+10,win\y+30,win\w-30,win\h-30 ;Result = BASS_ChannelGetData(Channel,Buffer,BASS_DATA_FFT512);Schreibt die Daten in die Bank "Buffer" ;For I = 0 To 128 ; Value# = PeekFloat#(Buffer,I * 4);Liest die Daten einzeln aus und schreibt sie in "Value#" ; Color 0,255,0 : Rect I * 5,480 - (Value# * 2000),4,Value# * 2000;Grüne Balken ; Color 0,150,255 : Rect I * 5,480 - Value# * 2000,4,2;Blaue Striche oben auf den Balken ;Next Text 1,15,BASS_ChannelGetPosition(channel) Flip Time2 = MilliSecs()-Time Until KeyHit(1) BASS_Stop() BASS_MusicFree(Channel) BASS_Free() End Function CreateParticle(x#,y#,z#,sx#,sy#,sz#,sw#,sa#,sc#,gew#=0,typ1=0,typ2=0,r=255,g=255,b=255) pat_on(PatAkt) = 1 pat_pos(PatAkt,0) = x pat_pos(PatAkt,1) = y pat_pos(PatAkt,2) = z pat_spe(PatAkt,0) =sx pat_spe(PatAkt,1) =sy pat_spe(PatAkt,2) =sz pat_typ(PatAkt,0) = typ1 pat_typ(PatAkt,1) = typ2 Pat_w#(PatAkt,0) = Rand(360) Pat_w#(PatAkt,1) = sw# Pat_a#(PatAkt,0) = 1 Pat_a#(PatAkt,1) = -sa# Pat_f(PatAkt,0) = r Pat_f(PatAkt,1) = g Pat_f(PatAkt,2) = b pat_sc(PatAkt) = sc pat_gew(PatAkt) = gew# PatAkt =(PatAkt + 1) Mod MaxPat End Function Function UpdatePat() If CountTriangles(PatSurf) > 0 ClearSurface(PatSurf) : AnZahl = 0 For i = 0 To MaxPat If pat_on(i) = 1 pat_pos(i,0) = pat_pos(i,0) + pat_spe(i,0) *GlobalSpeed pat_pos(i,1) = pat_pos(i,1) + pat_spe(i,1) *GlobalSpeed pat_pos(i,2) = pat_pos(i,2) + pat_spe(i,2) *GlobalSpeed pat_spe(i,1) = pat_spe(i,1) - pat_gew(i) *GlobalSpeed pat_w(i,0) = pat_w(i,0) + pat_w(i,1) *GlobalSpeed pat_a#(i,0) = pat_a#(i,0) + pat_a#(i,1) *GlobalSpeed DrawPat(pat_pos(i,0),pat_pos(i,1),pat_pos(i,2),pat_sc(i),pat_w(i,0),pat_a#(i,0),pat_typ(i,0),pat_f(i,0),pat_f(i,1),pat_f(i,2)) If pat_typ(i,1) = 1 xx# = pat_pos(i,0) ;- pat_spe(i,0) yy# = pat_pos(i,1) ;- pat_spe(i,1) zz# = pat_pos(i,2) ;- pat_spe(i,2) CreateParticle(xx,yy,zz,0,0,0,Rnd(0.1,2),Rnd(0.05,0.025),0.15,0,1) ElseIf pat_typ(i,1) = 2 CreateParticle(xx,yy,zz,0,0,0,Rnd(0.1,2),Rnd(0.05,0.025),1,0,2,0,pat_f(i,0),pat_f(i,1),pat_f(i,2)) EndIf If pat_a#(i,0) <= 0 DeletePat(i) AnZahl = AnZahl + 1 EndIf Next Return AnZahl End Function Function DrawPat(x#,y#,z#,sc#,w#,a#,typ,r,g,b) Local u1#,v1#,u2#,v2# Select Typ Case 0 u1=0:v1=0:u2=0.5:v2=0.5 Case 1 u1=0.5:v1=0:u2=1:v2=0.5 Case 2 u1=0:v1=0.5:u2=0.5:v2=1 End Select TFormPoint(x#,y#,z#,0,CAM) zz#=TFormedZ() If zz# > 0 xx#=TFormedX() If xx# > -zz#-1 And xx# < zz#+1 yy#=TFormedY() If yy# > -zz#-1 And yy# < zz#+1 If w# <> 0 IA# = ATan2(SC#,SC#) x1# = Cos(IA+w)*SC x2# = Cos(IA-w)*SC y1# = Sin(IA+w)*SC y2# = Sin(IA-w)*SC Else x1# = SC y1# = SC x2# = SC y2# = SC EndIf pv0 = AddVertex(PatSurf,xx-x1,yy+y1,zz,u1,v1) : VertexColor(PatSurf,pv0,r,g,b,a#) pv1 = AddVertex(PatSurf,xx+x2,yy+y2,zz,u2,v1) : VertexColor(PatSurf,pv1,r,g,b,a#) pv2 = AddVertex(PatSurf,xx+x1,yy-y1,zz,u2,v2) : VertexColor(PatSurf,pv2,r,g,b,a#) pv3 = AddVertex(PatSurf,xx-x2,yy-y2,zz,u1,v2) : VertexColor(PatSurf,pv3,r,g,b,a#) AddTriangle(PatSurf,pv0,pv1,pv2) AddTriangle(PatSurf,pv2,pv3,pv0) EndIf EndIf EndIf End Function Function DeletePat(index) pat_on(index) = 0 pat_pos(index,0) = 0 pat_pos(index,1) = 0 pat_pos(index,2) = 0 pat_spe(index,0) = 0 pat_spe(index,1) = 0 pat_spe(index,2) = 0 pat_a#(index,0) = 0 pat_a#(index,1) = 0 pat_w#(index,0) = 0 pat_w(index,1) = 0 End Function Function LoadShow(Name$) dat = ReadFile("show\"+Name$+".shw") Zahl = ReadInt(dat) DebugLog Zahl For i = 1 To Zahl a.a = New a a\ExploPat = ReadInt(dat) a\PartlPat = ReadInt(dat) a\ExploSpeed = ReadFloat(dat) a\SmokeSpeed = ReadFloat(dat) a\PartlSpeed = ReadFloat(dat) a\ExploRad = ReadFloat(dat) For j = 0 To 4 a\P_F[j] = ReadByte(dat) Next a\x = ReadFloat(dat) a\y = ReadFloat(dat) a\z = ReadFloat(dat) a\Mesh = CopyEntity(Rohr) PositionEntity a\mesh,a\x,a\y,a\z pt#=ReadFloat(dat):yw#=ReadFloat(dat) RotateEntity a\mesh,pt,yw,0 Next CloseFile dat End Function mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was mir auf die schnelle auffällt.
BASS_Start nach BASS_Init = Quatsch da bereits gestartet. Du verwechselst überall Streams und Channels und Musik. Wenn du einen STREAM lädst kannst du keine Musik löschen! Deswegen sollst du immer die richtigen Flags benutzen,also schon wie oben erwähnt. und dann: Code: [AUSKLAPPEN] If Not BASS_StreamCreateFile(0,"snd\Musik\Mus1.mp3",0,0,BASS_MUSIC_FLOAT)
Wo ist denn CHANNEL hin? Ansonsten sehe ich da nichts auf die schnelle. Und mach dir selbst einen Gefallen und kürze mal. Code: [AUSKLAPPEN] If Not BASS_ChannelPlay(Channel,BASS_SAMPLE_LOOP) Then
BASS_MusicFree(Channel) BASS_Free() RuntimeError "Konnte Datei nicht abspielen!" EndIf Das ist zwar sicherlich fleissig, aber : Code: [AUSKLAPPEN] If not channel = BASS_ChannelPlay(Channel,BASS_SAMPLE_LOOP) RuntimeError "Scheisse...nix Play in Zeile ..." Reicht vollkommen...oder willst du einen debugger schreiben? ![]() Am schluss reicht Bass_Free() übrigens, denn Rest erledigt FREE immer selbst (Channels/Musik/Streams/etc) cu |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group