Foros Linux Argentina
Febrero 07, 2012, 07:46:20
Bienvenido(a),
Visitante
. Por favor,
ingresa
o
regístrate
.
¿Perdiste tu
email de activación?
1 Hora
1 Día
1 Semana
1 Mes
Siempre
Ingresar con nombre de usuario, contraseña y duración de la sesión
Inicio
Ayuda
Buscar
Ingresar
Registrarse
Foros Linux Argentina
>
Foro Linux
>
Programacion
>
codigo c++ para leer sonido de un fichero .avi
Páginas: [
1
]
Ir Abajo
« anterior
próximo »
Imprimir
Autor
Tema: codigo c++ para leer sonido de un fichero .avi (Leído 4913 veces)
orlay
Visitante
codigo c++ para leer sonido de un fichero .avi
«
:
Abril 01, 2008, 09:49:48 »
Hola, necesito un codigo c++ para poder leer el sonido de un fichero de video extencion .avi , puede ser utilizando Alsa, oss o preferentemente OpenAl.
En línea
orlay
Visitante
Re: codigo c++ para leer sonido de un fichero .avi
«
Respuesta #1 :
Abril 23, 2008, 12:31:59 »
la mejor variante es leer el video con avifile-0.7 y el sonido con OpenAl, este es fragmento de mi codigo pero tiene errores, creo que esta en como leer correctamenta toda la informacion del audio del video. Si alguien sabe donde esta my error la agradeceria una respuesta.
//--------------------------------------------------------------------------------------
const char* s="/home/abd/Desktop/prueba/bin/Debug/data/Bleach.avi";
IAviReadFile* file=CreateIAviReadFile(s);
IAviReadStream* ss=file->GetStream(0, AviStream::Audio);
ALuint alFormat;
char *audio;
long bytePos=0;
char qwe[10000];
ss->StartStreaming();
unsigned int samp_read, b_read;
int sizeA = 19530;
ss->ReadFrames(qwe, sizeA, sizeA, samp_read, b_read );
WAVEFORMATEX wvFmt;
if (ss->GetAudioFormatInfo(&wvFmt, 0) != 0)
{
printf("Failed to decode Audio Format");
}
if ( wvFmt.nChannels == 2){
if ( wvFmt.wBitsPerSample == 16 ) // 16 bit stereo sound
alFormat = AL_FORMAT_STEREO16;
else // 8 bit stereo sound
alFormat = AL_FORMAT_STEREO8;
} else {
if ( wvFmt.wBitsPerSample == 16 ) // 16 bit mono sound
alFormat = AL_FORMAT_MONO16;
else // 8 bit mono sound
alFormat = AL_FORMAT_MONO8;
}
delete file;
//-------------------------------------------------------------------------
loop = 0;
alBufferData(Buffer, alFormat, qwe ,sizeA, wvFmt.nSamplesPerSec);
En línea
Foros Linux Argentina
En línea
Páginas: [
1
]
Ir Arriba
Imprimir
« anterior
próximo »
Ir a:
Por favor selecciona un destino:
-----------------------------
Foro Linux
-----------------------------
=> Hardware
=> Instalacion
=> OpenOffice.org
=> Programacion
=> Proyectos
=> Redes
=> Seguridad
=> Software
=> Dise
-----------------------------
Configuraciones
-----------------------------
=> Trucos Hardware
=> Trucos
-----------------------------
Foro FreeBSD
-----------------------------
=> Free BSD
-----------------------------
Foro NetBSD
-----------------------------
=> Net BSD
-----------------------------
Foro general
-----------------------------
=> Discusiones
=> Sugerencias
Loading...