salut

> Pour le son, envoie moi ce que t'as fait Lawrence, que je puisse voir la 
> complexité du truc.

et voila :

//////////////////////////////////////////////////
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

#include <vorbis/codec.h>
#include <vorbis/vorbisfile.h>

char pcmout[4096];

using namespace std;

int main()
{
  FILE *dsp = fopen("/dev/dsp", "w");

  OggVorbis_File vf;
  int eof=0;
  int current_section;

  FILE *ogg;
  //#ifdef DEBUG_VORBIS
  cout << "Ouverture du fichier ... " ;
  //#endif

  if ( (ogg = fopen("wormux.ogg", "r")) == NULL)
  {
    cout << "erreur " <<  ogg << endl;
    fflush(stdout);
  }
  else
  {
    cout << "ok" << endl;
  }

  if (ov_open(ogg, &vf, NULL, 0) < 0)
  {
    fprintf(stderr,"hum... c'est pas de l'ogg ce fichier !!??\n");
    exit(-1);
  }

  char **ptr=ov_comment(&vf,-1)->user_comments;
  vorbis_info *vi=ov_info(&vf,-1);

  while(*ptr)
  {
    fprintf(stderr,"%s\n",*ptr);
    ++ptr;
  }

  while(!eof)
  {

    long ret = ov_read(&vf, pcmout, sizeof(pcmout), 0, 2, 1,
&current_section);

    #ifdef DEBUG_VORBIS
    cout.setf(ios::fixed, ios::floatfield);
    cout.width(10);
    cout.setf(ios::right);
    cout.precision(5);
    //histoire de voir sans prendre trop de place -> \b  ;)
    cout << ov_time_tell(&vf) << "\b\b\b\b\b\b\b\b\b\b\b";
    fflush(stdout);
    #endif

    if (ret == 0)
    {
      eof=1;
    }
    else if (ret < 0)
    {
      cout << "quitter !!!" << endl;  
    }
    else 
    {
      fwrite(pcmout, 1, ret, dsp);
    }
    
  }

  ov_clear(&vf);

  //fprintf(stderr,"Ok\n");
  return(0);

}

//////////////////////////////////////////////////
comme tu peux le voir y'a pas plus simple :) On ouvre
le dsp...et on balance la sauce dedant ;)
Sinon n'oubli pas la vorbisfile pour que ca compile:
g++ main.cpp -o vorbis -lvorbisfile -I/usr/local/include/ -L/usr/lib/

> 
> Je rappelle que le menu option n'est pas fini (edition des équipes 
> notamment- un composant edit c'est pas ce qu'il y a de plus sympa à 
> coder ...). Si on le met en suspend, je pense que ce serait pas mal de 
> faire un doc qui explique comment les modifiers et en créer de nouvelles 
> (je NE suis PAS volontaire pour cette tache).
:-p

> Sinon je tenais à féliciter grandement l'auteur de l'avatar Ball ! Il 
> veut pas en faire d'autre ????
Ca faut lui demander directement mais je pense qui si il a du temps il
le fera de lui meme comme pour Ball.

@+
lami


Répondre à