A mon boulot on vient de me demander si je pouvais faire un petite programme qui permettrait de jouer des sons sur les enceintes arrière uniquement. je n'ai pas trouvé de code sur Purearea. Quelqu'un a une idée ?
Je travaille dans une biblihoteque et on voudrait utiliser un PC pour diffuser des annonces préenregistrées, mais on voudrait eviter que si quelqu'un regarde sa messagerie un "ding dong" soit entendu dans les espaces publique.Donc l'idée est que tout les son des applications sont envoyé sur la stéréo-avant, et les annonces sur la stéréo Arrière ! QU'en pensez vous ?
Merci d'avance
Jouer un son sur les enceintes arrières
C'est facilement faisable, tu récuperes ton buffer audio et un truc du genre :
Je n'ai pas testé mais ça devrait normalement fonctionner.
Code : Tout sélectionner
; 16 bits
Procedure CHANNEL_TO_REAR(*src.Word, *dst.Word, nsamples.l)
Protected n, samples.l
Protected LeftSample.l, RightSample.l
; quelques vérifications
If *src = #Null Or *dst = #Null
ProcedureReturn
EndIf
If nsamples <= 0
ProcedureReturn
EndIf
; realloue taille_dst si < taille_src * 4
If MemorySize(*dst) < MemorySize(*src) * 4
*dst = ReAllocateMemory(*dst, MemorySize(*src) * 4)
EndIf
samples = nsamples - 1
For n = 0 To samples
; récupere les sons gauche/droit
LeftSample = *src\w
*src + 2
RightSample = *src\w
*src + 2
; son avant = silence
PokeW(*dst + (n << 2), 0)
PokeW(*dst + (n << 2)+1, 0)
; son arrière = sons avant récupérés
PokeW(*dst + (n << 2)+2, LeftSample)
PokeW(*dst + (n << 2)+3, RightSample)
Next n
EndProcedure
Dernière modification par KarLKoX le lun. 19/févr./2007 12:31, modifié 1 fois.
"Qui baise trop bouffe un poil." P. Desproges