Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > FireMonkey
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-09-2017
Avatar de turbopascual5.0
turbopascual5.0 turbopascual5.0 is offline
Miembro
 
Registrado: feb 2011
Posts: 54
Poder: 14
turbopascual5.0 Va por buen camino
Unhappy Error mediaplayer y sonidos del sistema

Hola a tod@s

Estoy desarrolando una aplicación para android. El diseño es muy minimalista y no uso botones, pongo una imagen y uso el evento onclick para acceder a las diferentes pantallas de datos.

Quería poner un sonido al arrancar el programa y otro sonido cada vez que pulse una imagen. En un action list he creado un par de acciones, llamadas click y tambor.


Código Delphi [-]
procedure tamborExecute(Sender: TObject);
const
  tosname: array [0..3] of string  = ('Win','OSX','iOS','Android');
begin
  mediaplayer1.Stop; mediaplayer1.Clear;
  if tosname[integer(TOSversion.Platform)]='Android' then begin
    mediaplayer1.FileName:= TPath.GetDocumentsPath + PathDelim + 'tambor.3gp' ;
    if mediaplayer1.State = tmediastate.Stopped then
      mediaplayer1.Play;
    end;
  if tosname[integer(TOSversion.Platform)]='Win' then begin
    mediaplayer1.FileName:= 'C:\Users\Usuario\Documents\Embarcadero\Studio\Projects\sound\tambor.wma' ;
    if mediaplayer1.State = tmediastate.Stopped then
      mediaplayer1.Play;
  end;
end;

procedure clickExecute(Sender: TObject);
const
  tosname: array [0..3] of string  = ('Win','OSX','iOS','Android');
begin
  if tosname[integer(TOSversion.Platform)]='Android' then begin
    mediaplayer1.FileName:= TPath.GetDocumentsPath + PathDelim + 'call.3gp' ;
    if mediaplayer1.State = tmediastate.Stopped then
      mediaplayer1.Play;
  end;
  if tosname[integer(TOSversion.Platform)]='Win' then begin
    mediaplayer1.FileName:= 'C:\Users\Usuario\Documents\Embarcadero\Studio\Projects\sound\call.wma' ;
    if mediaplayer1.State = tmediastate.Stopped then
      mediaplayer1.Play;
  end;
end



En deployment he colocado los ficheros en la ruta .\assets\internal.

Las rutas de win me son indeferentes, el programa nunca va a ser unsado en windows, solo las pongo para poder correr el programa paso a paso y depurar.

Cuando arranco suena , sin problema. La llamada a la acción la hago en el evento formcreate .

A partir de eso aparece un error cíclico. Al correr la acción click tengo un error "Access violation at adress A02D0550, accesing adress 00000000". Al pulsar de nuevo la imagen y correr la acción no da error y el sonido se escucha, corriendo el programa normalmente. Al volver a pulsar otra vez el error y así cíclico.

¿a que se puede deber?

Y una última consulta: Cuando corres una palicación android , como un navegador, al introducir datos se escuchan los "clicks" , esos sonidos no son multimedia.
¿Existe alguna forma de tener sonidos en las pulsaciones de botón, entrada de teclado, etc, que no sea reproduciendo un fichero de sonido con mediaplayer?

Uso Tokio 10.2 y su desesperante lento IDE (i7 , 16 gb ram).


Gracias a tod@s de antemano.

Última edición por Neftali [Germán.Estévez] fecha: 26-09-2017 a las 10:05:56. Razón: Corregir TAGs
Responder Con Cita
  #2  
Antiguo 23-09-2017
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.257
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No hagas preview hasta que lo guardes por primera vez. Después puedes editarlo y hacer preview cuanto quieras.
Responder Con Cita
  #3  
Antiguo 26-09-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.549
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
En este caso he corregido los TAG's y he borrado los 2 mensajes sobrantes.
Para las próximas veces, puedes hacer lo que comenta Casimiro.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 26-09-2017
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.549
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para la primera cuestión te recomiendo que uses algún tipo de Log que te permita saber exactamente en qué parte del programa está fallando. A ver si eso te da más pistas.
Prueba también otro evento tipo OnShow en lugar del OnCreate (sólo por probar).

En cuanto al tema de los sonidos, personalmente no la he utilizado, pero otros compañeros sí, y me han dicho que esta librería funciona muy bien. Se que para el tema de juegos ysimilares se utiliza esta:

http://www.fmxexpress.com/free-game-...ndows-and-osx/

Esta librería extiende el api android.media.SoundPool, mientras que mediaplayer lo hace desde android.media.MediaPlayer, creo que más adecuada para lo que necesitas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error al ejecutar mi sistema!! negrokau Varios 7 20-09-2011 15:51:51
Como manejar los sonidos de la bocina del sistema Alexandro Varios 4 22-10-2008 19:46:36
como grabar sonidos con MediaPlayer en c++? emmel C++ Builder 0 22-01-2007 00:39:40
MediaPlayer error de lectura madriles OOP 1 21-12-2003 22:49:13
Error De Sistema omarys Varios 8 04-09-2003 20:04:26


La franja horaria es GMT +2. Ahora son las 00:59:58.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi