Foros del Web » Programación para mayores de 30 ;) » C/C++ »

no puedo usar SDL con mmsystem

Estas en el tema de no puedo usar SDL con mmsystem en el foro de C/C++ en Foros del Web. uso visual c++ 2008 quiero usar las funciones de sonido de mmsystem y los graficos de SDL. puedo hacer andar mmsystem en modo consola, pero ...
  #1 (permalink)  
Antiguo 23/02/2013, 17:37
 
Fecha de Ingreso: septiembre-2010
Mensajes: 137
Antigüedad: 13 años, 7 meses
Puntos: 0
no puedo usar SDL con mmsystem

uso visual c++ 2008

quiero usar las funciones de sonido de mmsystem y los graficos de SDL.
puedo hacer andar mmsystem en modo consola, pero cuando itento usarlo con los graficos de SDL me da un error.

Este es mi codigo, simplemente inicializa graficos SDL, y antes del return intenta usar una funcion de mmsystem:

Código C++:
Ver original
  1. #include "SDL.h"
  2. #include <Windows.h>
  3. #include <mmsystem.h>
  4.  
  5. HWAVEIN hWaveIn;
  6. WAVEHDR WaveInHdr;
  7. MMRESULT result;
  8. WAVEFORMATEX pFormat;
  9.  
  10. int main(int argc, char* args[]) {
  11.     //INICIALIZO GRAFICOS SDL
  12.     SDL_Surface* screen = NULL;
  13.     SDL_Init( SDL_INIT_EVERYTHING );
  14.     screen = SDL_SetVideoMode( 640, 480, 32, SDL_SWSURFACE );
  15.     SDL_Flip( screen );
  16.     SDL_Delay( 2000 );
  17.     SDL_Quit();
  18.    
  19.     //INICIALIZO VARIABLES DE SONIDO MMSYSTEM
  20.     int sampleRate=44100;
  21.  
  22.     pFormat.wFormatTag = WAVE_FORMAT_PCM;
  23.     pFormat.nChannels = 1;
  24.     pFormat.nSamplesPerSec = sampleRate;
  25.     pFormat.wBitsPerSample = 16;
  26.     pFormat.nBlockAlign = pFormat.nChannels*pFormat.wBitsPerSample/8;
  27.     pFormat.nAvgBytesPerSec = pFormat.nChannels*pFormat.wBitsPerSample/8;
  28.     pFormat.cbSize=0;  
  29.  
  30.     result = waveInOpen(&hWaveIn, WAVE_MAPPER,&pFormat, 0L, 0L, WAVE_FORMAT_DIRECT);
  31.     return 0;
  32. }


el error que me da es el siguiente:
error LNK2001: unresolved external symbol __imp__waveInOpen@24 main.obj

si comento la linea antes del return el codigo compila y ejecuta bien:
...
//result = waveInOpen(&hWaveIn, WAVE_MAPPER,&pFormat, 0L, 0L, WAVE_FORMAT_DIRECT);
return 0;
}

como hago andar esto?
  #2 (permalink)  
Antiguo 24/02/2013, 04:14
Avatar de L3m0n  
Fecha de Ingreso: diciembre-2011
Mensajes: 219
Antigüedad: 12 años, 3 meses
Puntos: 46
Respuesta: no puedo usar SDL con mmsystem

Buenas, realmente no se a que se puede deber que pase eso porque esa libreria de audio no la he usado nunca. Prueba de hacer SDL_Quit() al final y sino tambien puedes usar SDL para el audio.

Etiquetas: funcion, int, sdl, usar, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:09.