Determine audio driver used by bmax.
BlitzMax Forums/BlitzMax Programming/Determine audio driver used by bmax.
| ||
| Hi ! Since 1.35 and 1.36 bmax version sounds and musics not works correctly into my game. This is a big project now difficult to debug... i've just noticed that if i comment these following lines and let bmax automatically choose the audio driver my game works... If gbPasDeSon = False Then Local n If AudioDriverExists(Config.Pilote_audio$) = True Then n = SetAudioDriver(Config.Pilote_audio$) If n = Null Then Notify CTE_PHRASE_PILOTE_SONS$ + Config.Pilote_audio$ + " !" gbPasDeSon = True End If Else Notify "Driver audio non trouvé '" + Config.Pilote_audio$ + "' ?" End If End If So Is there a way to know the audio driver automatically used by blitzmax ? (to play a music or a sound i use this code inside the game :
Function Jouer_musique:TSonGeneral(hMusique:TSound)
If gbPasDeSon = False Then
If Channel_musique_Generale <> Null Then StopChannel Channel_musique_Generale
Channel_musique_Generale = PlaySound (hMusique)
If Channel_musique_Generale = Null Then
Arreter_programme ("problème channel audio !!!")
End If
Channel_musique_Generale.SetVolume(Config.Volume_musique#)
ResumeChannel Channel_musique_Generale
End If
End Function
Function Jouer_son(hSon:TSound, Pan#,Profondeur#, Volume#)
If gbPasDeSon = False Then
Local bJouer_son = True
Local Temps_local = MilliSecs()
For Local s:TSonGeneral = EachIn Liste_channels
If s.Channel.Playing() = False Then
Liste_channels.remove s
End If
Next
For Local s:TSonGeneral = EachIn Liste_channels
If s.hSon = hSon And s.Genre=1 Then
If s.Temps_debut > Temps_local + Temps_latence_son Or s.Temps_debut < Temps_local - Temps_latence_son Then
If s.Pan# = Pan# And s.Profondeur# = Profondeur# Then
bJouer_son = False
Exit
End If
End If
End If
Next
If bJouer_son = True Then
Local s:TSonGeneral = New TSonGeneral
s.Channel = AllocChannel()
s.Channel.setvolume (Volume#)
SetChannelPan s.Channel, Pan#
SetChannelDepth s.Channel,Profondeur#
PlaySound (hSon, s.Channel)
s.hSon = hSon
s.Temps_debut = Temps_local
s.pan# = pan#
s.Profondeur# = Profondeur#
s.Genre = 1
ListAddLast Liste_channels , s
' Else Notify "zappé"
End If
End If
End Function
Thanks for your help ! |
| ||
Not really. I manually add this to the bottom of my audio.bmx file:
Function GetAudioDriver$()
Return Driver().Name()
End Function
This function does just as it says: returns the name of the current sound driver. I have begged on several occasions to have it formally added to BlitzMax. |
| ||
| Thanks Tachyon |