error con la librería bass.

Pregunta Sin Miedo no te cortes cualquier cosa para empezar - Autoit se comienza facilmente.Para Ordenes o Comandos sueltos. Ver nota como preguntar.
Responder
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

error con la librería bass.

Mensaje 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!.
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

Re: error con la librería bass.

Mensaje 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!
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: error con la librería bass.

Mensaje 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.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Avatar de Usuario
BasicOs
Site Admin
Mensajes: 2085
Registrado: 21 Nov 2006, 19:24
Ubicación: El Internet - (Canarias, España)
Contactar:

Re: error con la librería bass.

Mensaje 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:)
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

Re: error con la librería bass.

Mensaje 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!
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

sigo con los errores de sonido

Mensaje 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", "")
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: error con la librería bass.

Mensaje 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.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
taoru
Hacker del Foro
Mensajes: 72
Registrado: 31 Mar 2010, 07:53
Ubicación: buenos aires
Contactar:

Re: error con la librería bass.

Mensaje 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.
Avatar de Usuario
Chefito
Profesional del Autoit
Mensajes: 2035
Registrado: 21 Feb 2008, 18:42
Ubicación: Albacete/Cuenca (España)

Re: error con la librería bass.

Mensaje 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.
Cita vista en algún lugar de la red: En este mundo hay 10 tipos de personas, los que saben binario y los que no ;).
Responder