Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// une carte des membres//// (apéros) codelab


#1 2016-05-07 15:28:03 Manipuler le son via une interface

Koruya
nouveau membre
Date d'inscription: 2015-12-30
Messages: 7

Manipuler le son via une interface



Bonjour à vous ,
je vous remercie tout d'abord de prendre le temps de lire mon sujet alors voila je suis en train de faire un projet et dans ce projet j'y intègre un son. Mais afin de ne pas brutaliser l'utilisateur du projet j'aimerais lui laisser le choix du volume.

Voila ou j'en suis , je n'arrive pas à comment dire .. linker le son sur le rectangle qui selon mes désirs devrait faire varier le volume quelqu'un pourrait t'il me venir en aide svp ?

import controlP5.*;
ControlP5 jControl;
import ddf.minim.*; // On importe une librairie nommé minim qui a pour fonction : lire un son
Minim minim; // Déclaration d'une variable Minim qui permet donc la reconnaissance d'un son
AudioPlayer Zelda ;
void setup() {
  size(600, 600);
  jControl= new ControlP5(this);
  Slider s= jControl.addSlider("Volume", 0, 100, 300, 300, 200, 30);
    minim = new Minim(this); // Cette ligne est utilisé pour dire que la librairie sera utilisé dans ce sketch
  Zelda= minim.loadFile("Zelda.mp3");
}
void draw(){
  Zelda.play();
  ;
  if (key==' '){
   
  Zelda.close();
  minim.stop();
  super.stop();
}
}

Dernière modification par Koruya (2016-05-07 15:34:34)

Hors ligne

 

#2 2016-05-09 10:15:26 Re : Manipuler le son via une interface

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Manipuler le son via une interface



Bonjour,

A priori, on ne peut contrôler le volume avec Minim. J'utilise plutôt la librairie Beads qui est plus complète :
http://www.beadsproject.net

Donc voici comment contrôler le volume :

import beads.*;
import controlP5.*;

ControlP5 cp5;
AudioContext ac;
Gain g;

void setup()
{
  size(800, 600);
  cp5 = new ControlP5(this);
  cp5.addSlider("volume")
    .setPosition(100, 50)
    .setSize(20,100)
    .setRange(0, 100)
    .setValue(20)
    ;
  ac = new AudioContext();
  String audioFileName = savePath("") +"/data/groove.mp3";
  SamplePlayer player = new SamplePlayer(ac, SampleManager.sample(audioFileName));
  g = new Gain(ac, 2, 0.2);
  g.addInput(player);
  ac.out.addInput(g);
  ac.start();
}

void draw() {
  background(0);
}

void volume (float v) {
  g.setGain(v / 100);
}

Hors ligne

 

#3 2016-05-16 14:25:17 Re : Manipuler le son via une interface

Koruya
nouveau membre
Date d'inscription: 2015-12-30
Messages: 7

Re: Manipuler le son via une interface



Super merci pour la réponse , maintenant je vais essayer de l'inclure dans mon jeux. Merci à toi pour ta réponse précise et rapide smile

Hors ligne

 

#4 2016-05-17 00:05:08 Re : Manipuler le son via une interface

hekmil
membre
Date d'inscription: 2016-05-15
Messages: 17

Re: Manipuler le son via une interface



Bonjour, désolé de réutiliser ce post mais je souhaiterais savoir pourquoi lorsque j'utilise ce code j'ai pleins d'erreur Java me disant qu'il ne connait pas la source (le programme s'execute pourtant)

Aussi est t-il possible de faire tourner le son en boucle comme minim ? smile

Merci

Hors ligne

 

#5 2016-05-17 19:07:33 Re : Manipuler le son via une interface

Mushussu
membre
Lieu: Orléans
Date d'inscription: 2012-05-24
Messages: 802

Re: Manipuler le son via une interface



Bonjour,

As-tu la dernière version de Processing et as-tu bien télécharger la librairie Beads ?
Sinon, sur quelle plateforme es-tu avec quel version de ton OS ?

Hors ligne

 

#6 2016-05-17 19:52:57 Re : Manipuler le son via une interface

hekmil
membre
Date d'inscription: 2016-05-15
Messages: 17

Re: Manipuler le son via une interface



Bonjour, alors je suis sur Processing 3.1.1 sous W10 avec normalement la dernière de Beads.

Sinon voici le code qui fonctionne mais qui fait énormément d'erreur :
http://paste2.org/KcW9KGjH
De plus j'ai un autre problème qui est lors du démarrage de mon programme, parfois j'ai cette erreur au lancement lors du chargement de ma musique (elle fait 10Mo) :

java.lang.RuntimeException: Waited 5000ms for: <6c8aac95, 624d5f74>[count 2, qsz 0, owner <main-FPSAWTAnimator#00-Timer0>] - <main-FPSAWTAnimator#00-Timer0-FPSAWTAnimator#00-Timer1>
	at processing.opengl.PSurfaceJOGL$2.run(PSurfaceJOGL.java:449)
	at java.lang.Thread.run(Thread.java:745)

Et sinon pour faire tourner un son en boucle ? smile

Merci

Dernière modification par hekmil (2016-05-17 19:54:09)

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2024