- Presentación.
- Vamos a ver tres códigos de funciones multimedia. Se completan con uno visto anteriormente, el Player de sonido: MediaPlayer.
_________________________________
a) Video Player.
Código del Vídeo Player
|
Sub Process_Globals
End Sub
Sub Globals
Dim video As VideoView
End Sub
Sub Activity_Create(FirstTime As Boolean)
video.Initialize("video")
Activity.AddView(video, 10dip, 10dip, 250dip, 250dip)
video.LoadVideo(File.DirAssets, "unvideo.mp4")
' video.LoadVideo(File.DirRootExternal, "unvideo.mp4")
' video.LoadVideo("http","http://unsitioweb.com/unvideo.mp4")
video.Play
End Sub
Sub video_Complete
Log("Terminado")
End Sub
|
Del sitio oficial...
https://www.b4x.com/android/help/audio.html#videoview
- Este elemento es bastante pejiguera, es muy crítico con el formato de vídeo.
- Para realizar las pruebas es conveniente que el archivo de vídeo no sea de gran tamaño, para que no tarde mucho en cargar.
- Es necesario cargar la Librería Audio
- Si tu ordenador no emite en español, puedes bajar las librerías de voces españolas de Loquendo (programa comercial) |
_________________________________
b) De Texto a Voz.
- Escribimos un texto en un casillero y Android lo pronuncia.
Código de Texto a voz
|
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
End Sub
Sub Globals
Dim Button1 As Button
Dim EditText1 As EditText
Dim TTS1 As TTS
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
TTS1.Initialize("TTS1")
End Sub
Sub Button1_Click
TTS1.Speak(EditText1.Text, True)
End Sub
|
Sitio oficial de la librería TTS...
https://www.b4x.com/android/help/tts.html
Librería:
https://www.b4x.com/android/forum/threads/tts-id-text-to-speech.67461/#content
En mi proyecto he construido mediante con el Designer un "Layout" con estos elementos:
Button1
EditText1
- Es necesario cargar la Librería TTS |
- En los foros puedes encontrar un ejemplo más completo con esta librería, en donde puedes elegir varios parámetros de voz.
Ejemplo más completo.
- En ese ejemplo de los foros hay una línea para elegir idiomas, concretamente:
spnrLanguages.AddAll(Array As String("en", "fr", "de"))
a esta línea le podemos añadir el español:
spnrLanguages.AddAll(Array As String("en", "fr", "de", "spa"))
La opción para elegir zona e idioma es:
Podemos probar con distintas formas del español, escribiendo estos parámetros.
' ("es","US"), ("es","LA"), ("spa","US"), ("spa","MEX")
|
Para realizar el ejemplo, crea con el Designer un Layout llamado "1" con...
Label1 (Text: Tono)
Label2 (Text: Rapidez)
EditText1
Button1
SeekBar (llamado barPitch con Max value: 20)
SeekBar (llamado barSpeechRate con Max value: 20)
Spinner (llamado spnrLanguages)
Código en: Ejemplo más completo.
- Es necesario cargar la Librería TTS
|
_________________________________
c) Reconocimiento de voz.
Hablamos delante del micrófono y Android escribe lo que hemos pronunciado.
Código de Reconocimiento de voz
|
'Activity module
Sub Process_Globals
Dim VR As VoiceRecognition
Dim TTS1 As TTS
End Sub
Sub Globals
Dim boton As Button
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
VR.Initialize("VR")
TTS1.Initialize("TTS1")
End If
' Crea Botón (Button)
boton.Initialize("boton")
boton.TextColor = Colors.Red
boton.Text = "Pulsa"
Activity.AddView(boton, 0dip, 10dip, 100%x, 10%y)
If VR.IsSupported Then
ToastMessageShow("Voice recognition is supported.", False)
Else
ToastMessageShow("Voice recognition is not supported.", True)
End If
VR.Prompt = "Say your message"
End Sub
Sub boton_Click
VR.Listen 'calls the voice recognition external activity.
'Result event will be raised.
End Sub
Sub VR_Result (Success As Boolean, Texts As List)
If Success = True Then
ToastMessageShow(Texts.Get(0), True)
TTS1.Speak(Texts.Get(0), True)
End If
End Sub
|
Sitio oficial...
http://www.basic4ppc.com/forum/basic4android-getting-started-tutorials/8055-voice-recognition-example.html
- El programa escribe lo que hemos pronunciado en una caja de mensajes: ToastMessageShow(Texts.Get(0), True)
- Es necesario cargar las Librerías:
Phone
TTS |
________________________________