Jouer un son sur les enceintes arrières

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Jouer un son sur les enceintes arrières

Message par Thyphoon »

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
KarLKoX
Messages : 1191
Inscription : jeu. 26/févr./2004 15:36
Localisation : France
Contact :

Message par KarLKoX »

C'est facilement faisable, tu récuperes ton buffer audio et un truc du genre :

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
Je n'ai pas testé mais ça devrait normalement fonctionner.
Dernière modification par KarLKoX le lun. 19/févr./2007 12:31, modifié 1 fois.
"Qui baise trop bouffe un poil." P. Desproges
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

merci je vais faire des tests !! :P
Répondre