FMOD Lecture d'un fichier mp3 ou ogg
FMOD Lecture d'un fichier mp3 ou ogg
Bonjour à vous.
Autant j'arrive à lire le flux de la webradio depuis mon lecteur purebasic window à partir de la librairie FMOD, autant je ne parviens pas à lire directement un fichier mp3 ou un .ogg !
Je cherche à remplacer les commandes classiques de PB LoadSound, Playsound, IsSound, SoundStatus par un appel à celle de FMOD.
Auriez vous un extrait de code qui me permette de lire un fichier mp3 ou ogg depuis FMOD (fmodex.pbi) et de savoir son status (en lecture, en pause, stoppé). Il me faudrait également une procédure qui m'indique la durée du fichier lu.
Merci à vous.
Autant j'arrive à lire le flux de la webradio depuis mon lecteur purebasic window à partir de la librairie FMOD, autant je ne parviens pas à lire directement un fichier mp3 ou un .ogg !
Je cherche à remplacer les commandes classiques de PB LoadSound, Playsound, IsSound, SoundStatus par un appel à celle de FMOD.
Auriez vous un extrait de code qui me permette de lire un fichier mp3 ou ogg depuis FMOD (fmodex.pbi) et de savoir son status (en lecture, en pause, stoppé). Il me faudrait également une procédure qui m'indique la durée du fichier lu.
Merci à vous.
Re: FMOD Lecture d'un fichier mp3 ou ogg
Salut,
Il ni a aucune différence, si tu arrives à lire un flux mp3 distant, tu peux le lire en local si tu indiques le bon chemin.
Peut être une histoire de Slahh ou AntiSlash dans ton path ?
Les 2 marchent.
Montre nous plutôt ton code si tu as des soucis.
Il ni a aucune différence, si tu arrives à lire un flux mp3 distant, tu peux le lire en local si tu indiques le bon chemin.
Peut être une histoire de Slahh ou AntiSlash dans ton path ?
Code : Tout sélectionner
URL = "http://server1.chilltrax.com:9000", "Chilltrax"
URL = "G:\AUDIO\MUSIQUE\__ARS\monmp3.mp3","Radio AR-S"
Montre nous plutôt ton code si tu as des soucis.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: FMOD Lecture d'un fichier mp3 ou ogg
Merci ! Ah oui cela fonctionne. C'était si simple, moi je cherchais une procédure dédiée uniquement à la lecture d'un son !
Maintenant il me reste à trouver comment obtenir la durée du son lu !
Maintenant il me reste à trouver comment obtenir la durée du son lu !
Re: FMOD Lecture d'un fichier mp3 ou ogg
Ca y'est je parviens à progresser dans l'écriture de mes fonctions... merci beaucoup !
Re: FMOD Lecture d'un fichier mp3 ou ogg
Content pour toi,
J'avoue que pour ma webradio je n'ai jamais eu à chercher du coté de la durée.
Si tu trouves je serai heureux que tu partages.
J'ai ouvert fmodexmin et j'ai trouvé ces 2 fonctions qui devraient faire l'affaire :
FMOD_Sound_GetLength
et
FMOD_Channel_GetPosition
en utilisant la constante #FMOD_TIMEUNIT_MS tu devrais arriver à quelque chose. Il y a d'autres constantes qui ne sont pas dans la version min (voir doc : https://documentation.help/FMOD-Ex/FMOD_TIMEUNIT.html) mais tu ne devrais pas en avoir besoin.
J'avoue que pour ma webradio je n'ai jamais eu à chercher du coté de la durée.
Si tu trouves je serai heureux que tu partages.
J'ai ouvert fmodexmin et j'ai trouvé ces 2 fonctions qui devraient faire l'affaire :
FMOD_Sound_GetLength
et
FMOD_Channel_GetPosition
en utilisant la constante #FMOD_TIMEUNIT_MS tu devrais arriver à quelque chose. Il y a d'autres constantes qui ne sont pas dans la version min (voir doc : https://documentation.help/FMOD-Ex/FMOD_TIMEUNIT.html) mais tu ne devrais pas en avoir besoin.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: FMOD Lecture d'un fichier mp3 ou ogg
J'ai bien progressé sur la compréhension de FMOD. Pour pouvoir effectuer le remplacement des fonctions natives Sound de Purebasic dans mon projet, j'aurai besoin de savoir comment déterminer qu'un fichier est stoppé. En clair qu'il a fini d'être lu. Je ne trouve rien dans la lib de FMOD.
Peut-être si Position de lecture = Duree du fichier (en millisecondes) ?
Ceci n'existe pas !!! :
Procedure.b FMOD_Determiner_EstArrete (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsStopped
FMOD_Channel_IsStopped(*Son\Channel, @IsStopped)
ProcedureReturn IsStopped
EndProcedure
Sinon mon code
Merci !
Peut-être si Position de lecture = Duree du fichier (en millisecondes) ?
Ceci n'existe pas !!! :
Procedure.b FMOD_Determiner_EstArrete (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsStopped
FMOD_Channel_IsStopped(*Son\Channel, @IsStopped)
ProcedureReturn IsStopped
EndProcedure
Sinon mon code
Code : Tout sélectionner
; ----------------------------------------------------------------------
;
; FMOD SOUND Pour Radio les Floralies
;
; ----------------------------------------------------------------------
; Hubert BAYRE : hubert.bayre@wanadoo.fr
; avril 2021
EnableExplicit
IncludeFile "fmodex.pbi"
;IncludeFile "fmodex(short).pbi"
#TIMER01 = 1
Global gFini
Global fmodsystem.i
Structure Son_fmod_struct
Url.s
Channel.i
Sound.i
Volume.f
PauseStatus.b
EndStructure
Global gSonLu.Son_fmod_struct
; ----------------------------------------------------------------------
;
; FENETRE
;
; ----------------------------------------------------------------------
Global Window_0
Global Text_message, Button_pause, TrackBar_volume, Button_lecture, Button_Stop, Button_fichier
Procedure OpenWindow_0(x = 0, y = 0, width = 550, height = 230)
Window_0 = OpenWindow(#PB_Any, x, y, width, height, "Radio Les Floralies - Lecteur", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_ScreenCentered | #PB_Window_WindowCentered)
Text_message = TextGadget(#PB_Any, 20, 140, 520, 25, "", #PB_Text_Center)
SetGadgetColor(Text_message, #PB_Gadget_FrontColor,RGB(255,255,255))
SetGadgetColor(Text_message, #PB_Gadget_BackColor,RGB(125,0,245))
Button_pause = ButtonGadget(#PB_Any, 220, 50, 90, 60, "PAUSE")
TrackBar_volume = TrackBarGadget(#PB_Any, 10, 20, 530, 25, 0, 10)
Button_lecture = ButtonGadget(#PB_Any, 120, 50, 90, 60, "LECTURE")
Button_Stop = ButtonGadget(#PB_Any, 320, 50, 90, 60, "STOP")
Button_fichier = ButtonGadget(#PB_Any, 20, 50, 90, 60, "FICHIER...")
EndProcedure
; ----------------------------------------------------------------------
;
; PROCEDURES
;
; ----------------------------------------------------------------------
Procedure FMod_Initialiser()
;Déclarer l'objet FMOD System
FMOD_System_Create(@fmodsystem)
;Initialiser le system (32 canaux) un seul suffirait pour cet exemple
FMOD_System_Init(fmodsystem, 32, #FMOD_INIT_NORMAL, 0)
EndProcedure
Procedure FMOD_charger_son (Url$)
Define Id_son
;CreateStream permet de commencer la lecture avant le chargement complet de l'url
FMOD_System_CreateStream(fmodsystem, Ascii(Url$), #FMOD_CREATESTREAM, 0, @Id_son)
ProcedureReturn Id_son
EndProcedure
Procedure.s Convertion_affichage_temps (ms)
Define Resultat$
Define Minutes
Define Secondes
Define Heures
Define Secondes$
Define Minutes$
Define Heures$
Secondes = Mod (Int (ms / 1000),60)
Minutes = Mod (Int(ms / 60000),60)
Heures = Mod (Int(ms / 3600000),60)
If Secondes < 10
Secondes$ = "0" + Str(Secondes)
Else
Secondes$ = Str(Secondes)
EndIf
If Minutes < 10
Minutes$= "0" + Str(Minutes)
Else
Minutes$ = Str(Minutes)
EndIf
If Heures < 10
Heures$ = "0" + Str(Heures)
Else
Heures$ = Str(Heures)
EndIf
If Heures > 0
Resultat$ = heures$ + ":" + minutes$ + ":" + secondes$
Else
If Minutes > 0
Resultat$ = minutes$ + ":" + secondes$
Else
If Secondes > 0
Resultat$ = secondes$ + "s"
EndIf
EndIf
EndIf
ProcedureReturn Resultat$
EndProcedure
Procedure Afficher_message (Message$)
SetGadgetText (Text_message, Message$)
EndProcedure
Procedure Quitter()
Define Result
Result = MessageRequester("Quitter Radio Les FLoralies", "Nous Quitter ? Veuillez faire votre choix !", #PB_MessageRequester_YesNo)
If Result = #PB_MessageRequester_Yes
ProcedureReturn 1
Else
ProcedureReturn 0
EndIf
EndProcedure
Procedure Initialiser()
SetGadgetState(TrackBar_volume, 5)
EndProcedure
Procedure FMOD_Jouer_son(*Son.Son_fmod_struct, Volume)
;On joue le son sur le canal 1
FMOD_System_PlaySound(fmodsystem, 1, *Son\Sound, 0, @*Son\Channel)
;Et on ajuste le volume (le son est compris entre 0.0 et 1.0)
*Son\Volume = Volume
FMOD_Channel_SetVolume(*Son\Channel, Volume)
EndProcedure
Procedure FMOD_Arreter_son (*Son.Son_fmod_struct)
FMOD_Channel_Stop(*Son\Channel)
EndProcedure
Procedure.i FMOD_DonnerPosition (*Son.Son_fmod_struct)
; Retourne la position en ms du fichier sonore lu
Define CurrentPos
Define Resultat
FMOD_Channel_IsPlaying(*Son\Channel,@Resultat)
If Resultat = #True
FMOD_Channel_GetPosition(*Son\Channel,@CurrentPos,1)
Else
Resultat = -1
EndIf
ProcedureReturn Resultat
EndProcedure
Procedure FMOD_Donner_duree_son(*Son.Son_fmod_struct)
Define Duree
If *Son\Sound <> 0
FMOD_Sound_GetLength (*Son\Sound, @Duree, #FMOD_TIMEUNIT_MS)
Else
Duree = -1
EndIf
ProcedureReturn Duree
EndProcedure
Procedure FMOD_Changer_volume (*Son.Son_fmod_struct, Volume)
*Son\Volume = Volume
FMOD_Channel_SetVolume(*Son\Channel, Volume)
EndProcedure
Procedure FMOD_Basculer_pause (*Son.Son_fmod_struct)
FMOD_Channel_GetPaused(*Son\Channel, @*Son\PauseStatus)
If *Son\PauseStatus = #False
FMOD_Channel_SetPaused(*Son\Channel, #True) ;Pause
Else
FMOD_Channel_SetPaused(*Son\Channel, #False) ;Reprise de la lecture
EndIf
EndProcedure
Procedure FMOD_Fermer_son (*Son.Son_fmod_struct)
FMOD_Channel_Stop(*Son\Channel)
EndProcedure
Procedure FMOD_fermer()
FMOD_System_Release(fmodsystem)
EndProcedure
Procedure.b FMOD_Determiner_EnPause (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsPaused
FMOD_Channel_GetPaused(*Son\Channel, @IsPaused)
*Son\PauseStatus = IsPaused
ProcedureReturn IsPaused
EndProcedure
Procedure.b FMOD_Determiner_EnLecture (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsPlaying
FMOD_Channel_IsPlaying(*Son\Channel, @IsPlaying)
ProcedureReturn IsPlaying
EndProcedure
Procedure.b FMOD_Determiner_EstArrete (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsStopped
;FMOD_Channel_IsStopped(*Son\Channel, @IsPlaying)
ProcedureReturn IsStopped
EndProcedure
Procedure Charger_son()
Protected StandardFile$
Protected Pattern$
Protected Pattern
Protected NomFichier$
StandardFile$ = "son.ogg"
Pattern$ = "Fichier sonore (*.ogg)|*.ogg|All files (*.*)|*.*"
Pattern = 0
NomFichier$ = OpenFileRequester("Fichier sonore", StandardFile$, Pattern$, Pattern)
If NomFichier$ <> ""
gSonLu\Url = NomFichier$
gSonLu \Sound = FMOD_charger_son (NomFichier$)
SetGadgetText (Text_message,"A lire : '" + NomFichier$ + "'")
Else
MessageRequester("Erreur de chemin", "Impossible de charger le fichier sonore !", 0)
EndIf
EndProcedure
; ----------------------------------------------------------------------
;
; PROGRAMME PRINCIPAL
;
; ----------------------------------------------------------------------
OpenWindow_0(0,0)
SetWindowTitle (Window_0, "Radio Les Floralies : Test ")
AddWindowTimer(Window_0, #TIMER01, 1000)
Afficher_message ("Bienvenue - hubert.bayre@orange.fr - version 1.0")
FMOD_Initialiser()
SetGadgetText (Text_message,"Choisissez une fichier à lire...")
Initialiser()
Repeat
Select WaitWindowEvent(1)
Case #PB_Event_CloseWindow
gFini = Quitter()
Case #PB_Event_Gadget ; on a reçu un message en provenance d'un gadget PureBasic
Select EventGadget()
Case Button_fichier
Charger_son()
Case Button_stop
FMOD_Arreter_son (gSonLu)
Case Button_pause
FMOD_Basculer_pause (gSonLu)
Case Button_lecture
FMOD_Jouer_son (gSonLu, 0.5)
Case TrackBar_volume
Define Volume
Volume = GetGadgetState(TrackBar_volume)/10
FMOD_Changer_volume(gSonLu, Volume)
EndSelect
Case #PB_Event_Timer
Select EventTimer()
Case #TIMER01
;
EndSelect
EndSelect
FMOD_DonnerPosition (gSonLu)
Until gFini
FMOD_Fermer()
Re: FMOD Lecture d'un fichier mp3 ou ogg
Pour le fichier qui vient d'être lu est qui est arrêté peut être celà ?
Code : Tout sélectionner
Procedure.b FMOD_Determiner_EstArrete (*Son.Son_fmod_struct)
; Retourne #True si en Arrêté, #False sinon
Define IsStopped
Define IsPlaying
Define IsPaused
FMOD_Channel_GetPaused(*Son\Channel, @IsPaused)
FMOD_Channel_IsPlaying(*Son\Channel, @IsPlaying)
If IsPaused = #False And IsPlaying = #False
IsStopped = #True
Else
IsStopped = #False
EndIf
ProcedureReturn IsStopped
EndProcedure
Re: FMOD Lecture d'un fichier mp3 ou ogg
Je n'arrive pas à utiliser les FMOD_Channel_GetPosition / SetPosition. Me semble pourtant avoir testé pas mal de trucs pourtant.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: FMOD Lecture d'un fichier mp3 ou ogg
J'utilise ce code pour utiliser FMOD. Je parviens à faire fonctionner les FMOD-_Channel_GetPosition / SetPosition
- J'ai créé une procédure 'EtreSon' pour remplacer IsSound que j'utilisais dans mon code initial. Même si cela semble fonctionner je n'en suis pas trop sur. J'utilisais isSound pour tester que le fichier chargé était ok avant un playsound, freesound, ...
- J'ai créé une procédure 'EtreSon' pour remplacer IsSound que j'utilisais dans mon code initial. Même si cela semble fonctionner je n'en suis pas trop sur. J'utilisais isSound pour tester que le fichier chargé était ok avant un playsound, freesound, ...
Code : Tout sélectionner
; ----------------------------------------------------------------------
;
; FMOD SOUND Pour Radio les Floralies
;
; ----------------------------------------------------------------------
IncludeFile "fmodex.pbi"
#FMOD_SON_NESAITPAS = 0
#FMOD_SON_LECTURE = 1
#FMOD_SON_PAUSE = 2
#FMOD_SON_ARRET = 3
Global fmodsystem.i
Structure Son_fmod_struct
Url.s
Channel.i
Sound.i
Volume.f
PauseStatus.b
EndStructure
; ----------------------------------------------------------------------
;
; PROCEDURES
;
; ----------------------------------------------------------------------
Procedure FMod_Initialiser()
;Déclarer l'objet FMOD System
FMOD_System_Create(@fmodsystem)
;Initialiser le system (32 canaux) un seul suffirait pour cet exemple
FMOD_System_Init(fmodsystem, 32, #FMOD_INIT_NORMAL, 0)
EndProcedure
Procedure FMOD_Charger_Son (Url$)
Define Id_son
;CreateStream permet de commencer la lecture avant le chargement complet de l'url
FMOD_System_CreateStream(fmodsystem, Ascii(Url$), #FMOD_CREATESTREAM, 0, @Id_son)
If Id_son = 0
MessageRequester ("Erreur", "Fichier son ne peut être chargé '" + Url$ + "'")
Else
;MessageRequester ("Erreur", "Fichier son chargé '" + Url$ + "'")
EndIf
ProcedureReturn Id_son
EndProcedure
Procedure FMOD_Jouer_Son(*Son.Son_fmod_struct, Volume)
;On joue le son sur le canal 1
If *Son <> 0
FMOD_System_PlaySound(fmodsystem, 1, *Son\Sound, 0, @*Son\Channel)
;Et on ajuste le volume (le son est compris entre 0.0 et 1.0)
*Son\Volume = Volume
FMOD_Channel_SetVolume(*Son\Channel, Volume / 100)
EndIf
EndProcedure
Procedure FMOD_Arreter_Son (*Son.Son_fmod_struct)
FMOD_Channel_Stop(*Son\Channel)
EndProcedure
Procedure.i FMOD_DonnerPosition (*Son.Son_fmod_struct)
; Retourne la position en ms du fichier sonore lu
Define CurrentPos
Define Resultat
FMOD_Channel_IsPlaying(*Son\Channel,@Resultat)
If Resultat = #True
FMOD_Channel_GetPosition(*Son\Channel,@CurrentPos,1)
Resultat = CurrentPos
Else
Resultat = -1
EndIf
ProcedureReturn Resultat
EndProcedure
Procedure FMOD_Boucler_son (*Son.Son_fmod_struct, NombreBoucles)
FMOD_Sound_SetLoopCount (*Son\Sound, NombreBoucles)
EndProcedure
Procedure FMOD_Donner_duree_son(*Son.Son_fmod_struct)
Define Duree
If *Son\Sound <> 0
FMOD_Sound_GetLength (*Son\Sound, @Duree, #FMOD_TIMEUNIT_MS)
Else
Duree = -1
EndIf
ProcedureReturn Duree
EndProcedure
Procedure FMOD_Changer_volume (*Son.Son_fmod_struct, Volume)
*Son\Volume = Volume
FMOD_Channel_SetVolume(*Son\Channel, Volume / 100)
EndProcedure
Procedure FMOD_Pauser_lecture (*Son.Son_fmod_struct)
FMOD_Channel_SetPaused(*Son\Channel, #True) ;Reprise de la lecture
*Son\PauseStatus = #True
EndProcedure
Procedure FMOD_Reprise_lecture (*Son.Son_fmod_struct)
FMOD_Channel_SetPaused(*Son\Channel, #False) ;Reprise de la lecture
*Son\PauseStatus = #False
EndProcedure
Procedure FMOD_Basculer_pause (*Son.Son_fmod_struct)
FMOD_Channel_GetPaused(*Son\Channel, @*Son\PauseStatus)
If *Son\PauseStatus = #False
FMOD_Channel_SetPaused(*Son\Channel, #True) ;Pause
*Son\PauseStatus = #True
Else
FMOD_Channel_SetPaused(*Son\Channel, #False) ;Reprise de la lecture
*Son\PauseStatus = #False
EndIf
EndProcedure
Procedure FMOD_Liberer_son (*Son.Son_fmod_struct)
FMOD_Channel_Stop(*Son\Channel)
EndProcedure
Procedure.b FMOD_Determiner_EnPause (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsPaused
FMOD_Channel_GetPaused(*Son\Channel, @IsPaused)
*Son\PauseStatus = IsPaused
ProcedureReturn IsPaused
EndProcedure
Procedure.b FMOD_Determiner_EnLecture (*Son.Son_fmod_struct)
; Retourne #True si en Pause, #False sinon
Define IsPlaying
FMOD_Channel_IsPlaying(*Son\Channel, @IsPlaying)
ProcedureReturn IsPlaying
EndProcedure
Procedure.b FMOD_Determiner_Stop (*Son.Son_fmod_struct)
Define Resultat
If FMOD_Determiner_EnLecture (*Son) = #False
If FMOD_Determiner_EnPause (*Son) = #False
Resultat = #True
Else
Resultat = #False
EndIf
Else
Resultat = #False
EndIf
ProcedureReturn Resultat
EndProcedure
Procedure.b FMOD_EtreSon (*Son.Son_fmod_struct)
Define Resultat
If *Son = 0
Resultat = #False
ProcedureReturn Resultat
EndIf
If *Son\Sound <> 0
Resultat = #True
Else
Resultat = #False
EndIf
ProcedureReturn Resultat
EndProcedure
Procedure.b FMOD_Determiner_EstArrete (*Son.Son_fmod_struct)
; Retourne #True si en Arrêté, #False sinon
Define IsStopped
Define IsPlaying
Define IsPaused
FMOD_Channel_GetPaused(*Son\Channel, @IsPaused)
FMOD_Channel_IsPlaying(*Son\Channel, @IsPlaying)
If IsPaused = #False
If IsPlaying = #False
IsStopped = #True
Else
IsStopped = #False
EndIf
Else
IsStopped = #False
EndIf
ProcedureReturn IsStopped
EndProcedure
Procedure.i FMOD_Determiner_status_son(*Son.Son_fmod_struct)
Define Statut
If FMOD_Determiner_EnLecture (*Son) = #True
Statut = #FMOD_SON_LECTURE
Else
If FMOD_Determiner_EnPause (*Son) = #True
Statut = #FMOD_SON_PAUSE
Else
If FMOD_Determiner_EstArrete (*Son) = #True
Statut = #FMOD_SON_ARRET
Else
Statut = #FMOD_SON_NESAITPAS
EndIf
EndIf
EndIf
ProcedureReturn Statut
EndProcedure
Procedure FMOD_Arreter_tous_les_sons()
EndProcedure
Procedure FMOD_fermer()
FMOD_System_Release(fmodsystem)
EndProcedure
; FIN DE FICHIER ----
Re: FMOD Lecture d'un fichier mp3 ou ogg
Par contre ce que je ne sais pas faire c'est récupérer les messages d'erreur de FMOD.
Re: FMOD Lecture d'un fichier mp3 ou ogg
Par contre ce que je ne sais pas faire c'est récupérer les messages d'erreur de FMOD. J'ai vu
Procedure.s FMOD_ErrorString(errcode.l)
Mais va savoir comment utiliser tout çà !
Procedure.s FMOD_ErrorString(errcode.l)
Mais va savoir comment utiliser tout çà !
Re: FMOD Lecture d'un fichier mp3 ou ogg
J'ai trouvé !