Bucles de sonido en android con pygame

9
Bucles de sonido en android con pygame. Por José Iván González Torres http://ingenieria-dragogear.blogspot.mx/

Transcript of Bucles de sonido en android con pygame

Page 1: Bucles de sonido en android con pygame

Bucles de sonido en android con pygame.

Por José Iván González Torres

http://ingenieria-dragogear.blogspot.mx/

Page 2: Bucles de sonido en android con pygame

Las versiones de PGS4A

Las versiones de PGS4A

Las versiones:

pgs4a-0.9.4

pgs4a-0.9.5

pgs4a-0.9.6

No tienen un método practico para crear Bucles de sonido, aunque el mixer de PGS4A si es ideal para reproducir efectos de sonidos que solo se escuchan un vez o después de que se cumple una condición.

Page 3: Bucles de sonido en android con pygame

PyJnius en PGS4A-0.9.6

PyJnius nos permite utilizar algunas clases de java dentro de python.

En este caso para reproducir bucles de sonido utilizaremos “android.media.MediaPlayer”.

Fuente: http://pyjnius.readthedocs.org

Page 4: Bucles de sonido en android con pygame

● from jnius import autoclass● from time import sleep●

● # get the MediaPlayer java class● MediaPlayer = autoclass('android.media.MediaPlayer')●

● # create our player● mPlayer = MediaPlayer()● mPlayer.setDataSource('/sdcard/testrecorder.3gp')● mPlayer.prepare()●

● # play● print 'duration:', mPlayer.getDuration()● mPlayer.start()● print 'current position:', mPlayer.getCurrentPosition()● sleep(5)●

● # then after the play:● mPlayer.release()●

Fuente: http://pyjnius.readthedocs.org/en/latest/android.html#playing-an-audio-file

Page 5: Bucles de sonido en android con pygame

android.media.MediaPlayer

MediaPlayer puede preparar de dos formas los sonidos a reproducir:

MediaPlayer().prepare(): Detiene la aplicación mientras prepara el audio para reproducirlo.

MediaPlayer().prepareAsync():Permite que la aplicación corra en paralelo con la preparación del audio a reproducir pero, si alguna condición intenta comenzar la reproducción del audio no se reproducirá hasta que el audio este completamente cargado. Nota: Durante el uso de la aplicación solo se podrán usar todos aquellos audios que se hayan reproducido antes del utilizar el método “.stop()”.

Page 6: Bucles de sonido en android con pygame

Ejemplo:

from jnius import autoclass●

● class AudioBucle():– def __init__(self, Archivo, Bucle = True):

– self.Archivo = Archivo

– self.Bucle = Bucle– MediaPlayer = autoclass('android.media.MediaPlayer')

– self.mPlayer = MediaPlayer()– try:

● self.mPlayer.setDataSource(self.Archivo)● except Exception, e:● print "ERROR EN CARGA DE SONIDO:",str(e)

– #self.mPlayer.prepareAsync()

– self.mPlayer.prepare()– self.mPlayer.setLooping(self.Bucle)

– self.V_Play = False

Page 7: Bucles de sonido en android con pygame

def play(self, Bucle = 0):– self.V_Play = True

– self.mPlayer.start()

● def stop(self):– self.V_Play = False

– self.mPlayer.pause()

– self.mPlayer.seekTo(0)

● def set_volume(self,Volumen):– try:

● self.mPlayer.setVolume(Volumen,Volumen)● except Exception, e:● print "Volumen no se puede modificar"● print "ERROR:", srt(e)

Page 8: Bucles de sonido en android con pygame

Fuentes:

http://pygame.renpy.org/

http://developer.android.com/reference/android/media/MediaPlayer.html

http://pyjnius.readthedocs.org

Page 9: Bucles de sonido en android con pygame

Redes sociales:

http://ingenieria-dragogear.blogspot.mx/

https://es-es.facebook.com/PythonDragogear

http://ivandragogear.deviantart.com/

https://twitter.com/IvanDragogear