• Viernes 15 de Noviembre de 2024, 02:25

Autor Tema:  Problema Directsound  (Leído 1561 veces)

fert_82

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema Directsound
« en: Lunes 23 de Mayo de 2005, 20:53 »
0
Hola: Estoy trabajando con DirectSound para poder reproducir un archivo WAV, lo estoy tratando de reproducir con un buffer secundario con un tamaño de 2 segundos; es decir, actualizando 1 segundo mientras se reproduce el otro y haciendo una reproduccion continua del buffer. Pero una vez llenado completamente el buffer por primera vez no me deja actualizarlo por que el metodo Lock me tira error.
La verdad que no se si le tengo que poner algun flag especial para poder actualizarlo o que hacer.
Cualquier ayuda me seria de gran utilidad.
Gracias.Saludos

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Directsound
« Respuesta #1 en: Lunes 23 de Mayo de 2005, 21:33 »
0
hasta donde se ( y mi pobre experiencia con direct sopund me lo pemite) solo debes cargar toda la secuenciua en el buffer y el internemente se encarga  de la adminsitracion de memoria de esta forma cargas todo en el buffer secundario y luego lo reproduces.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

KaSuGaK

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problema Directsound
« Respuesta #2 en: Lunes 11 de Julio de 2005, 12:56 »
0
Hola, si lo que te interesa es repoducir sonidos de manera supersencilla y potente te recomiendo la libreria FMOD, con solo 3 pasos reproduces audio, en wav, mp3, y muchos otros formatos,
por ejemplo:

1- Inicializadion
FSOUND_Init (44100, 32, 0);
FSOUND_SAMPLE* miManejador;

2- Carga
miManejador =FSOUND_Sample_Load (CANAL_AUDIO,"Musica/musica.wav",0, 0, 0);

3- Reproducion
FSOUND_PlaySound (CANAL_AUDIO, mi_Manejador);
FSOUND_SetVolume(CANAL_AUDIO, VOLUMEN);  // Opcional!!


Edit: En canal de audio puedes gestionar varios canales a la vez simplemente poniendo un numero.

Esperpo haber ayudado,

KaSuGaK