Beispiel #1
0
ALuint Audio::creerBufferPas()
{
    Random rand;
    int numero = rand.generer(1, 4);
    ALuint Buffer;

    switch (numero)
    {
    case 1:
        Buffer = creerBuffer("./data/sound/step1.wav");
        break;
    case 2:
        Buffer = creerBuffer("./data/sound/step2.wav");
        break;
    case 3:
        Buffer = creerBuffer("./data/sound/step3.wav");
        break;
    case 4:
        Buffer = creerBuffer("./data/sound/step4.wav");
        break;
    default:
        std::cerr << "erreur de random en carton c'est la faute a cephise !" << std::endl;
    }

    return Buffer;
}
Beispiel #2
0
ALuint Audio::creerBufferEpee()
{
    Random rand;
    int numero = rand.generer(1, 2);
    ALuint Buffer;

    switch (numero)
    {
    case 1:
        Buffer = creerBuffer("./data/sound/knife_slash1.wav");
        break;
    case 2:
        Buffer = creerBuffer("./data/sound/knife_slash2.wav");
        break;
    default:
        std::cerr << "erreur de random en carton c'est la faute a cephise !" << std::endl;
    }

    return Buffer;
}
/**
 * \brief "reception" permet l'inscription de la trame code, obtenue par file de messages depuis "code", dans un buffer. On envoie donc la trame code au processus "decode" par ce moyen, en s'aidant d'une synchronisation par mutex. Le processus s'arrête à la réception de la phrase "fin".
 */
int main(){
    signal(SIGINT, arretForce);
    
    printf("Ouverture de la file de message.\n Création du buffer et du mutex.\n");
    int file = creerBal(100);
    int buffer = creerBuffer(200);
    printf("Numéro de buffer obtenu : -%d-\n", buffer);
    char *chaineBuffer = attacherBuffer(buffer);
    int mutex = creerSemaphore(500);
    setValeurSemaphore(mutex, 1);
    send(&buffer, BUFFER, file);
    
    while(1){
        printf("**** Nouvelle itération.\n\n");
        char *chaineCourante = malloc(sizeof(char) * (TAILLE_MAX+3));
        receive(chaineCourante, CODE, file);
        printf("1) Trame code obtenue : -%s-\n\n", chaineCourante);
	
        down(mutex);
        int i;
	
        if(strcmp(chaineCourante, "fin") == 0){
            printf("Fin normale du processus de réception.\n");
            up(mutex);
            free(chaineCourante);
            break;
        }
	
        for(i=0; i<(TAILLE_MAX+3); i++){
            chaineBuffer[i] = chaineCourante[i];
        }
	
        printf("2) Chaine lisible dans le buffer : -%s-\n\n", chaineBuffer);
	
        up(mutex);
	
        free(chaineCourante);
        printf("**** Fin de l'itération.\n\n");
    }
    
    fin(chaineBuffer, buffer);
    
    return EXIT_SUCCESS;
}
Beispiel #4
0
ALuint Audio::playFichier(const std::string Filename, ALboolean loop)
{
    // Chargement du fichier audio
    Buffer = creerBuffer(Filename);

    if (Buffer == 0)
    {
        return EXIT_FAILURE;
    }

    // Création d'une source
    alGenSources(1, &Source);

    // On attache le tampon contenant les échantillons audio à la source
    alSourcei(Source, AL_BUFFER, Buffer);

    // Définition du mode de lecture de la source
    alSourcei(Source, AL_LOOPING, loop);

    // Lecture du son
    alSourcePlay(Source);

    return 0;
}
Beispiel #5
0
ALuint Audio::creerBufferVent()
{
    return creerBuffer("./data/sound/wind.wav");
}
Beispiel #6
0
ALuint Audio::creerBufferTonnerre()
{
    return creerBuffer("./data/sound/thunder_clap.wav");
}
Beispiel #7
0
ALuint Audio::creerBufferOiseau()
{
    return creerBuffer("./data/sound/thunder_clap.wav");
}
Beispiel #8
0
ALuint Audio::creerBufferMusiqueExploration()
{
    return creerBuffer("./data/sound/26.wav");
}
Beispiel #9
0
ALuint Audio::creerBufferMusiqueCombat()
{
    return creerBuffer("./data/sound/26.wav");
}
Beispiel #10
0
ALuint Audio::creerBufferEau()
{
    return creerBuffer("./data/sound/fallscream.wav");
}