Probleme mit Blitz Sound Engine?
Übersicht

![]() |
NightPhoenixBetreff: Probleme mit Blitz Sound Engine? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo Community!
Beim testen meines Spieles tritt bei mir und anderen nach einer unbestimmten Zeit (Minuten oder Stunden) ein Soundfehler auf, der sobald er hörbar ist, zum Abbruch des Programmes durch Windows führt ("Das Programm hat ein Problem festgestellt und muss beendet werden" - Senden - Nicht senden). Man hört kurz zuvor ein extremes verzerren, bzw. piepsiges Störgeräusch der 3D Sounds. Die Musik läuft perfekt unverzerrt weiter. Man hört diese Verzerrungen 5-10 Sekunden bis das Programm diese Fehlermeldung bekommt und nach weiteren 2-5 Sekunden friert das Programm auch noch ein. Ich hab mal gehört, dass einige mit der blitzeigenen Soundengine Probleme haben. Sind euch solche Probs auch bekannt? Beherrscht die bass.dll Userlib für B3D auch 3D Sounds wie die Soundengine von B3D? (Kommt aus der Beschreibung schlecht hervor) MfG. |
||
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die bass.dll hat 3D-Funktionalitäten, aber damit zu programmieren ist halt ähnlich painful wie mit jeder anderen externen Dll. | ||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
![]() |
Starwar |
![]() Antworten mit Zitat ![]() |
---|---|---|
Und die Lizenzen für kommerzielle Nutzung sind sehr teuer.
http://www.un4seen.com/ Für Projekte unter 40 Euro Verkaufspreis 100 Euro und für unlimitiert 950-2450 Euro. (Natürlich ohne Gewähr) MFG |
||
![]() |
Abrexxes |
![]() Antworten mit Zitat ![]() |
---|---|---|
hazumu-kun hat Folgendes geschrieben: Die bass.dll hat 3D-Funktionalitäten, aber damit zu programmieren ist halt ähnlich painful wie mit jeder anderen externen Dll.
Blitz Bass Studio hat vollen 3D Support inkl Effekte und SFX. Und was an diesem Code "painful" sein soll weis ich auch nicht....genau wie bei anderen "guten" dll Bindings. Nach einmaligem initialisieren ist genau eine Zeile Code nötig (BASS_Apply3D), also rede nicht so einen Blödsinn. Außerdem wüste ich mal gern welche Beschreibung gemeint ist, mehr als ein Komplettes Tutorial ist ja kaum möglich? Zitat: - Play samples/streams/musics in any 3D position, with EAX support
Code: [AUSKLAPPEN] ; First i want to thanks "klepto2" for the help to develop the 3D part of BBS....Thanks :)
; Now lets start with this little tutorial how to use 3D. Please see also "blitz_bass_studio_help_functions.txt" ; for 3D commands. And the Bass.chm for all others. Include "includes\bass.bb" Graphics3D 640,480,0,2 SetBuffer BackBuffer () Local timer=CreateTimer (100) ; nothing new, we take 100 fps Global camera = CreateCamera() ; we create our camera PositionEntity camera,0,1,0 ; note: in this example the camera is our "listener", as the camera starts at position 0,1,0, we dont really need to ; call BASS_Set3DPositionPos (to set a listener at its start position). Global textur = LoadTexture ("media\bottom.png") ; we load the textures und make a plane Global tex2 = LoadTexture ("media\cone.png") Global tex3 = LoadTexture ("media\sphere.png") Global tex4 = LoadTexture ("media\cube.png") Global bottom = CreatePlane () EntityTexture bottom, textur cone=CreateCone(32) ;we create a cone PositionEntity cone,0,1,25 EntityTexture cone,tex2 sphere = CreateSphere(32) ; a sphere PositionEntity sphere,10,1,15 EntityTexture sphere,tex3 cube = CreateCube() ; a cube PositionEntity cube,-5,1,5 EntityTexture cube,tex4 AmbientLight 255,255,255 ; and the light of course ; now lets start with our bass stuff BASS_Init(-1,44100,BASS_DEVICE_3D,0,BASS_NULL) BASS_CheckVersion() ; as you can see, we MUST use the BASS_DEVICE_3D to enable 3D Sound ; now we load 3 music files, 2 mods and 1 stream Global music1 = BASS_MusicLoad(0,"media\Stardust.mod",0,0,BASS_SAMPLE_3D+BASS_SAMPLE_LOOP,0) Global music2 = BASS_MusicLoad(0,"media\followme.mod",0,0,BASS_SAMPLE_3D+BASS_SAMPLE_LOOP,0) Global music3 = BASS_StreamCreateFile(0,"media\blocks04.ogg",0,0,BASS_SAMPLE_3D+BASS_SAMPLE_LOOP) ; ok, now we place every music to one of our objects, for this we use the same coords as for PositionEntity (see above) BASS_ChannelSet3DPositionPos (music1,0,1,25) BASS_ChannelSet3DPositionPos (music2,10,1,15) BASS_ChannelSet3DPositionPos (music3,-5,1,5) ; later you can change this positions in realtime if you want do that ; here now other commands to adjust a lot of 3D stuff and attributes (see the bass.chm for more infos) ; BASS_ChannelSet3DAttributes(music1,BASS_3DMODE_NORMAL,0,0,-1,-1,0) ; this command you can use for every channel ; BASS_Set3DFactors(0,-1.0,-1.0) ; This are global 3D factors ; You can use both later in realtime (loop) if you want. ; now an importand command BASS_Apply3D () ; we will see this later again in our mainloop... ; now its time to start our musics BASS_ChannelPlay (music1,BASS_FALSE) BASS_ChannelPlay (music2,BASS_FALSE) BASS_ChannelPlay (music3,BASS_FALSE) ; mainloop Repeat If KeyDown(203) MoveEntity camera,-0.1,0,0 Else If KeyDown(205) MoveEntity camera,0.1,0,0 EndIf If KeyDown(200) MoveEntity camera,0,0,0.1 Else If KeyDown(208) MoveEntity camera,0,0,-0.1 EndIf Local camyaw% If KeyDown(30) Then RotateEntity camera,0,camyaw,0 camyaw=camyaw+1 Else If KeyDown(32) RotateEntity camera,0,camyaw,0 camyaw=camyaw-1 EndIf RenderWorld ; we have moved a little with and rendered our world ; now we transmite the changes to bass with .... BASS_Update3DListener(camera) ; simple..isnt it. Experts can use other commands to be more flexible see "blitz_bass_studio_help_functions.txt" ; Note that you can use this also in a function because you need this only if your listener has moved. ; now lets talk about this command : BASS_Apply3D() ; the 3D audio positions are rendered by DirectX. It is clear that this needs calculation time. To save this time, we can say ; to bass if it is necessary to recalculate everthing or not. (I we move nothing, we dont need to calculate). ; At the beginning i have used this on time. Why? Well to say bass (directX) where the channels should start (position) ;) ; to make it easier here, we call BASS_Apply3D each frame. But remember that you need that (and BASS_Update3DListener) ; only If your 3D scene (audio) has changed (If you have used some 3D commands (see also bass.chm For all of this)). ; some text & color Color 255,0,0 Text 0,0, "BASS_3D Tutorial (ESC to exit)" Color 255,128,0 Text 0,20, "Use Arrow keys to move - Use A(Q)/D to move camera " Color 255,255,255 Text 0,40,"PositionX : " +EntityX(camera) Text 200,40,"PositionZ : " +EntityZ(camera) Text 400,40,"Yaw: " +EntityYaw#(camera) WaitTimer(timer) Flip 0 Until KeyHit(1) BASS_Free () End ; Thats all folks , have fun :) ;~IDEal Editor Parameters: ;~C#Blitz3D Und das ganze als EXE: http://www.abrexxes.huntingsof.../3dtut.zip Was denn Preis angeht, BASS ist neben FMOD das beste auf dem Markt, und das kostet halt was. Wer das nicht zahlen will der kann ja weiter die mitgelieferten Blitz Funktionene nutzen (übrigens FMOD). BASS richtet sich an Leute die das maximum an Möglichkeiten haben wollen, und das ist alles "drin". ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group