Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 20/08/12, 06:02:16
Array

[xs_avatar]
Ifiuse Ifiuse no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2012
Mensajes: 5
Modelo de smartphone: S2
Tu operador: Movistar
Botón sonido que reproduzca solo en touch.

Hola, soy relativamente nuevo en la programación para Android y "termine" el layout y todo eso de mi aplicación.

El problema que tengo ahora es que no logro encontrar la forma de poder poner un boton el cual reprodusca un sonido solo mientras se lo mantiene presionado.

Es decir, si lo pongo con la funcion start() el sonido iniciaria, pero se seguiria reproduciendo al levantar el dedo. Y lo que yo quiero es que al levantar el dedo se pare, y en caso de que yo quiera apretarlo de nuevo empiece desde el principio nuevamente...


Alguien tiene alguna idea/guia de como puedo llegar a lograr este tipo de tarea?

Agradezco la ayuda.


Ah, y por cierto, en Eclipse aveces me pasa que como que se tilda un poco todo y no me muestra correctamente las cosas. Me hace reiniciar todo para ver bien de nuevo, alguna solución a eso? O.o


Saludos, Gracias.
Responder Con Cita


  #2  
Viejo 20/08/12, 10:03:42
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

En vez del onClick tienes que usar el onTouchListener, con eso puedes detectar los eventos de pulsar y levantar el dedo en el botón como si de cualquier otra vista se tratara.

Para parar el sonido, creo que hay un método stop al que le pasas la referencia del sonido en reproducción y lo para.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 20/08/12, 15:41:48
Array

[xs_avatar]
Ifiuse Ifiuse no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2012
Mensajes: 5
Modelo de smartphone: S2
Tu operador: Movistar
 Cita: Originalmente Escrito por mocelet Ver Mensaje
En vez del onClick tienes que usar el onTouchListener, con eso puedes detectar los eventos de pulsar y levantar el dedo en el botón como si de cualquier otra vista se tratara.

Para parar el sonido, creo que hay un método stop al que le pasas la referencia del sonido en reproducción y lo para.
Hola, Gracias por la ayuda pero creo que no me exprese bien.

Necesito que el boton suene mientras se lo tiene pulsado y deje de sonar cuando se lo deja de pulsar

Gracias!.
Responder Con Cita
  #4  
Viejo 20/08/12, 15:48:47
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Supongo que no me he expresado bien yo

Con el listener onTouchListener puedes saber cuándo le ponen el dedo encima al botón y cuándo se lo quitan.

Con el start y con el stop del sonido lo inicias y lo detienes.

Llama al start cuando pongan el dedo y llama al stop cuando lo quiten...
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #5  
Viejo 21/08/12, 04:38:22
Array

[xs_avatar]
Ifiuse Ifiuse no está en línea
Usuario novato en la web
 
Fecha de registro: ago 2012
Mensajes: 5
Modelo de smartphone: S2
Tu operador: Movistar
 Cita: Originalmente Escrito por mocelet Ver Mensaje
Supongo que no me he expresado bien yo

Con el listener onTouchListener puedes saber cuándo le ponen el dedo encima al botón y cuándo se lo quitan.

Con el start y con el stop del sonido lo inicias y lo detienes.

Llama al start cuando pongan el dedo y llama al stop cuando lo quiten...
Primero que nada, muchas gracias por la ayuda, esta ves si te entendi.

Ahora... Estuve probando intentar hacer eso que me dijiste, pero tengo un error con los "}" y los ")"

Que cuando lo arreglo me tira que la declaracion del boton esta mal, no se si me explico, pero para ser mas claro pongo una imagen:



Si alguien tiene idea por que no me deja ponerlo o donde esta el error lo agradeceria, ya que me pase un largo rato intentando solucionarlo y leyendo...

(Por cierto, si se pueden fijar si esta bien hecho el OnTouch seria genial)

Saludos.
Responder Con Cita
  #6  
Viejo 26/08/12, 14:11:48
Array

[xs_avatar]
goltara goltara no está en línea
Usuario novato en la web
· Votos compra/venta: (1)
 
Fecha de registro: ene 2011
Mensajes: 29
Modelo de smartphone: samsung galaxy s
Tu operador: Pepephone
Lo mejor que puedes hacer para no liarte, es implementar las interfaces, para ello haz esto:

public class MiActivity extends Activity implements OnClickListener,OnTouchListener {

una vez que escribas esto, si no te sabes de memoria los metodos que tienes que implementar, te saldra un error sobre la palabfra MiActivity, seguidamente mantienes el raton sobre MiActivity y saldra la opcion de "add unimplemented methods" y ya sobre ellos evaluas que View capto el evento mediante un IF.

No se si me he explicado bien, te pongo un ejemplo:

Código:

import android.app.Activity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.View.OnClickListener;

public class MiActivity extends Activity implements OnClickListener,OnTouchListener{
    
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.adivinar);
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        
    }



}
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 18:16:14 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /