Página 1 de 1

error con la librería bass.

Publicado: 01 Jul 2011, 03:54
por taoru
hola a todos, ando teniendo un problema con la librería bass.dll
estoy dedicandome a hacer audiojuegos, o empezando a intentar a hacer estos tipos de juegos para ciegos.

creé una máquina traga monedas online, si la quieren ver de aquí la pueden bajar:
http://content.wuala.com/contents/taoru ... .rar/?dl=1
aqui un post con explicación:
http://goo.gl/fcrVS

pero estoy teniendo un problema, me reportaron ya 3 personas que el juego le tiró un error muy raro:
Incorrect BASS.DLL version (2.3 is required)

no entiendo de que será y como solucionarlo, alguien mas le pasó este problema?, como lo solucionaron?

muchísimas gracias!.

Re: error con la librería bass.

Publicado: 02 Jul 2011, 00:03
por taoru
la dll que utilizo es la 2.4.5 la que viene con la UDF.
bajé la 2.4.6 y lanzó el mismo error me digieron.
intenté bajar la versión 2.3.2 de la dll pero esa no anda con autoit, la UDF tira error.

muestro aquí el código que utilizo para reproducir el sonido:

Código: Seleccionar todo

#include <Bass.au3>
#include <BassConstants.au3>

; habilitamos la librería de audio:
_BASS_STARTUP ("BASS.dll")
_BASS_Init(0, -1, 44100, 0, "")
If @error Then
	MsgBox(16, "Error", "el driver de audio no se pudo cargar.")
exit
EndIf

$snd="audio.mp3"
$MusicHandle = _BASS_StreamCreateFile(False, $snd, 0, 0, 0)
_BASS_ChannelPlay($MusicHandle, 1)
esto en mi pc andubo bien, en otras pcs también, solo a 3 o 4 personas le lanzó el error que mensioné en el anterior post, no tengo ni idea que podría ser.

intenté utilizar soundplay, pero no reproduce 2 sonidos simultaños por eso utilizo bass para crear los audiojuegos.
seguiré provando o buscaré alguna otra forma, gracias!

Re: error con la librería bass.

Publicado: 02 Jul 2011, 13:58
por Chefito
Estos fallos son difíciles de detectar, y más cuando hay por medio una dll que no es tuya. Si te fallase en todos o casi todos los ordenadores sería más facil, pero si solo lo hace en una pequeña minoría lo tienes complicado.
Puede que falle por algún tipo de configuración, por la versión del win o sus actualizaciones, porque choca con algo de otro programa, por algún pequeño error no corregido en la dll o en las funciones implementadas en la udf de autoit, etc. Quien sabe. Tendrías que analizarlo mucho :smt024 .
No creo que sea por esto que te voy a decir a continuación, pero por probar y descartar no perderás nada :smt003 . Registra esta dll en el ordenador que falla con el comando REGSVR32. Busca en la red que hay mucha información. Las dlls que se registran de esta forma, se suelen guardar en el directorio de win, system32 (no es necesario, pero se hace por organización).

No se si esta dll utilizará algún tipo de librería externa, como puede ser directx. Si utiliza algo de esto, puede que el ordenador que te da el error no tenga actulizado los directx o lo que sea. Tendrías que buscar si tiene alguna dependencia.

Por otro lado, recuerda que autoit trae una udf llamada sound.au3 que maneja con apis de win los sonidos. Prueba con esto, que te aseguro que yo reproducí hasta 8 sonidos simultáneos (seguro que podía más) sin problema en una máquina bastante vieja. Mira este post: http://www.emesn.com/autoitforum/viewto ... ucir#p9592.

Si hubieses utilizada el buscador del foro hubieses visto que hay bastantes post respecto al tema de sonido. Por ejemplo, una pequeña recopilación un tanto antigua pero que te puede servir: http://www.emesn.com/autoitforum/viewto ... =171#p7858. Por cierto, acabo de ver que este post lo iniciaste tú. Ya veo que sigues sin utilizar el buscador, porque si lo hubieses hecho habrías encontrado el post del párrafo anterior :smt018 .

Seguro que desde la fecha de ese último post hasta hoy hay alguna cosa más por el foro.

Si quieres hacer cosas profesionales, siempre puedes tratar directamente con por ejemplo directx o opengl, entre otros. Pero te aviso de que son apis muy complicadas.

Saludos.

Re: error con la librería bass.

Publicado: 06 Jul 2011, 18:03
por BasicOs
Me imagino que has buscado con esto que parece que comentan algún problema: Busqueda

Aquí encontré en la respuesta 14 un enlace a otra versión, o bien coger la que viene en la primera linea de ese mismo enlace:

http://www.autoit.de/index.php?page=Thr ... post222569

Puede que le falte algo.

Salu22:)

Re: error con la librería bass.

Publicado: 08 Jul 2011, 04:03
por taoru
hola!.
gracias por la respuesta.

fue muy útil.
estoy intentando usar la librería sound como para dar una solución rápida mientras investigo mas sobre bass, bajo mi gusto me gusta mas bass pero almenos con sound puedo hacer lo que necesitaba.
gracias por la ayuda, un abrazo y buen finde!

sigo con los errores de sonido

Publicado: 10 Jul 2011, 04:08
por taoru
probé con la librería sound, y logré el pan hacia la izquierda, excelente como necesitaba, pero cuando el sonido es muy corto no me reproduce nada, alguien sabe porque pasa esto?.
osea, si pones una canción el sonido se escucha solo por la izquierda, pero con un sonido corto de 1 segundo no suena nada.
dejo aqui el código por si ven algun error, el sonido con el que probé es este, dura 1 seg:
http://content.wuala.com/contents/taoru ... .mp3/?dl=1

y este es el código con el que estoy probando:

Código: Seleccionar todo

#include <Sound.au3>
; incluimos las funciones para el pan:
; #INDEX# 

============================================================================================

===========================


; #INTERNAL_USE_ONLY# 

============================================================================================

===============
; Name...........: _LeftBalance
; Description ...: asigna un valor de balance al canal izquierdo
; Syntax.........: _LeftBalance(ByRef $aSndID, ByRef $volumenIzq)
; Parameters ....: $aSndID - Identificador de un sonido (ID del sonido).
;                  $volumenIzq - Rango de Volumen para el canal izquierdo 0 hasta 1000
; Return values .: Errores
; Author ........: Bethory
; Modified.......:
; Remarks .......:
; Related .......: __SoundRightBalance
; Link ..........:
; Example .......: Aun no
; 

============================================================================================

===================================
Func _SoundLeftBalance(ByRef $aSndID, $volumenIzq)
   Local $vTemp = $aSndID
   If Not __SoundChkSndID($vTemp) Then Return SetError(3, 0, 0) ; invalid Sound ID or file 

name

   ;reset VBR factor if used
   If IsArray($aSndID) Then $aSndID[2] = 0
   __SoundMciSendString("setaudio " & $vTemp[0] & " left volume to " & $volumenIzq)
   If @error Then Return SetError(2, @error, 0)
EndFunc   ;==>_SoundLeftBalance

; #INTERNAL_USE_ONLY# 

============================================================================================

===============
; Name...........: _RightBalance
; Description ...: asigna un valor de balance al canal izquierdo
; Syntax.........: _LeftBalance(ByRef $aSndID, ByRef $volumenDer)
; Parameters ....: $aSndID - Identificador de un sonido (ID del sonido).
;                  $volumenIzq - Rango de Volumen para el canal izquierdo 0 hasta 1000
; Return values .: Errores
; Author ........: Bethory
; Modified.......:
; Remarks .......:
; Related .......: __SoundRightBalance
; Link ..........:
; Example .......: Aun no
; 

============================================================================================

===================================
Func _SoundRightBalance(ByRef $aSndID, $volumenDer)
   Local $vTemp = $aSndID
   If Not __SoundChkSndID($vTemp) Then Return SetError(3, 0, 0) ; invalid Sound ID or file 

name

   ;reset VBR factor if used
   If IsArray($aSndID) Then $aSndID[2] = 0
   __SoundMciSendString("setaudio " & $vTemp[0] & " right volume to " & $volumenDer)
   If @error Then Return SetError(2, @error, 0)
EndFunc   ;==>_SoundRightBalance

$sonido ="lima.mp3"
         $sound = _SoundOpen($sonido)
         _SoundLeftBalance($sound, 0)
         _SoundRightBalance($sound, 1000)
         _SoundPlay($sound)

msgbox(0, "sonido", "")

Re: error con la librería bass.

Publicado: 12 Jul 2011, 20:35
por Chefito
Pues yo lo he probado en win xp sp3 y win7 home 64 bits, y el sonido de lima y el código funcionan perfectamente.

Por cierto, en el código pones que se reproduzca por el derecho no por el izquierdo :smt001 .

Saludos.

Re: error con la librería bass.

Publicado: 12 Jul 2011, 20:47
por taoru
si, tienes razón, es por la derecha, ya de tanto girarle el código me mareo, jaja.
en mi pc si pongo una canción escucho todo por la derecha, pero si pongo un sonido corto, como este de lima, no reproduce nada.
ahora bien, si la librería sound tira esos errores según la pc que lo use, sería lo mismo que con la librería bass. anda donde quiere!, jajaja.
deducción: creo que no hay un estandar?, y a los que no les suene tengo que ponerle que juegue solo con los sonidos centrales?.

es la unica conclusión que llego.
gracias por todo!. a seguir batallando.

Re: error con la librería bass.

Publicado: 13 Jul 2011, 01:03
por Chefito
Pues chico, no se como esa udf te puede fallar ya que utiliza una librería estandar de windows.

No se. Yo ya probé estas cosas en otros ordenadores, además de los dos que te he dicho anteriormente, y no me falló nunca.

Puedes intentarlo de otras formas con esta misma librería, como por ejemplo con mciSendCommand, aunque es lo mismo que la otra (mciSendString), la diferencia es que con uno lanzas la orden con una cadena string y con el otro por comando. Mira http://msdn.microsoft.com/en-us/library ... S.85).aspx

Saludos.