elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)  (Leído 3,143 veces)
Z@@K

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)
« en: 3 Agosto 2014, 02:35 am »

Hola colegas,

tengo una consulta...

Estoy haciendo mi primer juego en Java, un juego sencillo, y hoy es el primer día que comienzo a agregarle sonido a los programas...

Bueno, según lo que he aprendido, creé la siguiente clase:

Código
  1. package sources;
  2.  
  3. import java.applet.Applet;
  4. import java.applet.AudioClip;
  5.  
  6. public class Sounds {
  7.  
  8.    public static final AudioClip normalShoot =Applet.newAudioClip(Sounds.class.getResource("../sources/normalshoot.wav"));
  9.    public static final AudioClip fastReload =Applet.newAudioClip(Sounds.class.getResource("../sources/fastReload.wav"));
  10.    public static final AudioClip outOfAmmo =Applet.newAudioClip(Sounds.class.getResource("../sources/outofammo.wav"));
  11.  
  12. }

Esta clase la hice para utilizar esos tres sonidos.
El sonido "normalshoot.wav" lo quiero utilizar cada vez que el jugador preciona y suelta la tecla "x", por lo tanto en la clase llamada "Player" que es la que implementa KeyListener agregué el siguiente codigo en el metodo keyReleased:

Código
  1.        if(e.getKeyCode() == KeyEvent.VK_X && !gp.isPaused()){
  2.            if(bullets>0){
  3.                shootTime = 0;
  4.                bullets--;
  5.                sources.Sounds.normalShoot.play();
  6.            }
  7.            else
  8.                sources.Sounds.outOfAmmo.play();
  9.        }

donde pueden ver que utilizo sources.Sounds.outOfAmmo.play() para que suene cada vez que se dispara.

Bueno, el problema es que al correr el programa y disparar suena, pero no siempre... suena la mayoría de las veces, pero aveces no se por que no...

que piesan que debería hacer para asegurar que siempre suene? debo de crear un hilo por separado para estos sonidos?

cualquier tipo de sugerencia sería agradecido.


Saludos,
Zaak


« Última modificación: 24 Agosto 2014, 17:21 pm por Z@@K » En línea

Z@@K

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Problema con los sonidos en Java...
« Respuesta #1 en: 3 Agosto 2014, 04:23 am »

Hola,

he modificado un poquito el código,
pero sigo teniendo el mismo problema... los sonidos no siempre se activan : (

es esto normal?
de cada 20 disparos los sonidos no se activan en 6 o 7.

el archivo de sonido de normalShoot.wav pesa 355KB, es muy pesado para correrlo cada ves que disparo?
tambien lo tengo en mp3 y pesa mucho menos (13KB) pero no se como cargar archivos mp3 en Java.......

Aquí les dejo el link donde pueden descargar el código de el juego que estoy haciendo, compilarlo y correrlo, para que ustedes mismos verifiquen que no siempre se acciona el sonido:

https://onedrive.live.com/redir?resid=514EA8E9FEC43C45%21560

nota: el archivo Game.java es el que tiene el "main". Las teclas que se utilizan en el juego son X,C, Espacio y las direccionales.

Saludos,


« Última modificación: 3 Agosto 2014, 04:25 am por Z@@K » En línea

Z@@K

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Problema con los sonidos en Java...(experimentados en programar videojuegos)
« Respuesta #2 en: 24 Agosto 2014, 17:27 pm »

Hola..

desde que comencé este post no he escrito una linea mas de código en java.. XD

bueno, sigo con la duda de si esto tiene solución o si tendré que utilizar únicamente sonidos muuuuy cortos y no muy pesados... ya que al parecer los sonidos largos no siempre funcionan cuando son accionados repetitivamente durante el juego :(

Aun sigo a la espera de que al menos me digan si a ustedes les pasa lo mismo, o es mi compu la que no funciona XD, les agradecería muuuuuuucho.


Saludos a todos!!!
« Última modificación: 24 Agosto 2014, 17:29 pm por Z@@K » En línea

l3ad Programmer

Desconectado Desconectado

Mensajes: 10


(Bad) Java Programmer


Ver Perfil
Re: Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)
« Respuesta #3 en: 24 Agosto 2014, 20:50 pm »

Quizás no conoces JMF. JMF o Java Media Framework es un framework para manejar recursos multimedia: Vídeo, Audio, Streaming, etc. No es difícil de usar.

Aquí tienes un buen ejemplo.
En línea

Z@@K

Desconectado Desconectado

Mensajes: 16


Ver Perfil
Re: Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)
« Respuesta #4 en: 31 Agosto 2014, 00:49 am »

Hola!!!

gracias "l3ad Programmer", créeme que he tomado en cuenta tu sugerencia, pero antes de descargar e instalar otro Framework más, quería probar otras alternativas.

Creo que he solucionado mi problema :). He estado leyendo y leyendo. buscando en Internet de arriba para abajo. He estado probando mi semi-juego una y otra vez hasta mas no poder... Y mis conclusiones son las siguientes:

1) CREO que mi problema se puede solucionar con la sincronización de hilos (algo que aun no he aprendido y seguramente sea uno de los siguientes pasos en mi aprendizaje autodidacta), digo esto debido a que he leído una que otra cosa al respecto (ejemp: http://docs.oracle.com/javase/tutorial/sound/playing.html)

Además esto tiene sentido ya que al hacer pruebas en mi semi-juego he descubierto que las veces en que no se emite el sonido es precisamente justo cuando otro sonido esta terminando (seguramente dos sonidos no pueden comenzar al mismo tiempo o también un sonidos no pueden comenzar al mismo tiempo que otro termina, supongo que esto es debido a que distintos hilos no deben manipular simultáneamente este proceso o algo por el estilo, solo estoy suponiendo...). Creo que la Sincronización sería una solución a esto :).

2) Debido a que quiero hacer este juego poniendo en practica lo que hasta el momento he aprendido (y aun no quiero meterme a sincronizar hilos) entonces tuve que idear otra solución:

Sí lo expuesto en el inciso 1) era correcto, entonces tenía que terminar el sonido que estaba activo antes de iniciar un nuevo sonido (en otras palabras, no reproducirlos paralelamente) y así evitaba accionar un sonido en el momento en que otro terminaba.

Entonces para activar los disparos puse estas dos lineas:

Código
  1. sources.Sounds.normalShoot.stop();
  2. sources.Sounds.normalShoot.play();

Y listo!
Lo puse a prueba y funciona!!!!!, siempre suenan los disparos, sin importar que tan rápido presione "el gatillo" : ))))))

Bueno, muchísimas gracias por la atención prestada. Tal vez este problema me tomó mucho mas tiempo del que debería haber sido ya que la solución ha sido algo tonta y fácil jajajaja... pero al fin logré darle una solución :) y créanme, la recomienza al que persevera es enorme! ya que aparte de la satisfacción que siento, me he dado cuenta que al intentar buscar una solución he adquirido en el camino muchos otros conocimientos :)

Espero algun día saber lo suficiente de programación para poder ayudar a otros.

Pasen un agradable día!
Les saluda,
Zaak.
« Última modificación: 31 Agosto 2014, 01:04 am por Z@@K » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)
« Respuesta #5 en: 2 Septiembre 2014, 17:55 pm »

El mensaje 'Problema con los sonidos en Java...(Consulta para experimentados en videojuegos)' fue bloqueado
Tópico cerrado, problema resuelto.
Leer reglas:
http://foro.elhacker.net/reglas
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[MOD] problema con grabadora de sonidos
Multimedia
jozufe 4 2,470 Último mensaje 14 Agosto 2005, 12:53 pm
por Songoku
Consulta MySQL y JAVA
Java
luisalb 6 16,180 Último mensaje 28 Octubre 2008, 04:07 am
por luisalb
Sonidos Java
Java
Lorkz 1 2,342 Último mensaje 25 Noviembre 2010, 20:49 pm
por Debci
Las mejores webs para descargar sonidos de películas y videojuegos
Noticias
wolfbcn 0 6,602 Último mensaje 27 Junio 2016, 21:02 pm
por wolfbcn
java tengo un problema con la consulta
Java
carlosalfaro 0 2,141 Último mensaje 16 Octubre 2017, 02:28 am
por carlosalfaro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines