Reproducir sonidos en una hoja de cálculo de OpenOffice Calc

Reproducir sonidos en una hoja de cálculo OpenOffice Calc

 

Cómo hacer para que se reproduzca un sonido desde una hoja de cálculo de OpenOffice (o LibreOffice) Calc ya no es un secreto.

 

Y no lo es a raíz de una pregunta del usuario JCarlosH, maestro de primaria, que deseaba utilizar este truco para personalizar dictados interactivos y trabajar aspectos concretos de la ortografía y expresión escrita a distintos niveles con sus alumnos en el aula.

 

Creando las macros

Primero deberás implementar estas macros en tu hoja de cálculo.

Option Explicit
Global oPlay As Object
Global lPlayIniciado As Boolean

Sub Reproducir_Sonido()
If Not lPlayIniciado Then oPlayInicia
oPlay.start()
End Sub

Sub Detener_Sonido()
oPlay.Stop()
End Sub

Sub oPlayInicia()
Dim sSonido As String
Dim oManager As Object

sSonido = ConvertToURL("C:\audio.mp3") 'ruta y nombre del archivo de sonido a reproducir
If GetGUIType() = 1 Then ' si es un sistema operativo Windows
oManager = CreateUNOService("com.sun.star.media.Manager_DirectX")
Else ' si es otro
oManager = CreateUNOService("com.sun.star.media.Manager_GStreamer")
End If
oPlay = oManager.createPLayer(sSonido)
lPlayIniciado = True
End Sub

Controlar el sonido mediante botones

Ya has hecho lo más difícil. Ahora, tan sólo tendrás que añadir dos botones de comando a tu hoja. Uno, para activar el sonido, al que asignarás la macro Reproducir_sonido, y otro, que detendrá el sonido, y al que asignarás la macro Detener_Sonido.

Para agregar fácilmente esos dos botones de comando.

  1. Haz visible la barra de herramientas Campos de control de formulario desde el menú Ver > Barras de herramientas...
  2. Inserta un botón seleccionando la herramienta Botón y trazando un rectángulo sobre tu hoja de cálculo.
  3. Desde la barra de herramientas, estando el botón seleccionado, activa la opción Control
  4. Cambia desde la pestaña General el título del botón por Iniciar Sonido
  5. Desde la pestaña Acontecimientos asigna a Botón del ratón soltado la macro Reproducir_sonido.
  6. Del mismo modo, crea otro botón para detener el sonido.
  7. Desactiva el Modo Diseño y la opción Control desde la barra de herramientas y prueba tus botones.

Por supuesto, suponemos que en el código has reemplazado "C:\audio.mp3" por la ruta y el nombre del archivo de sonido en formato mp3 que deseas reproducir. También se pueden reproducir otros formatos de sonido, como oog, wab, etc., dependiendo de tu sistema operativo.

Reproducir el sonido al activar la hoja de cálculo

Pero quizás prefieras que el sonido se reproduzca al entrar en una determinada hoja, y se detenga al salir de ésta.

  1. Haz clic en la pestaña Hoja2, y desde el menú contextual de la pestaña, selecciona Eventos de la hoja...
  2. Al evento Activar documento, asígnale la macro Reproducir_sonido.
  3. Al evento Desactivando documento asígnale la macro Detener_sonido.

Haz tus pruebas, y nos comentas los resultados :D

Gestión más avanzada de los sonidos

Para los más avanzados, algo más de código:

Sub Reinicia_Sonido()
    oPlay.setMediaTime(0.0)
End Sub

Sub Repetir_Sonido( lRepetir As Boolean )
    ' false => no repetir cuando termine true => repetir cuando termine
    oPlay.setPlayBackLoop( lRepetir )
End Sub

Sub Velocidad_Sonido( nVelocidad as integer )
    ' si se cambia la velocidad se reinicia el sonido
    if nVelocidad < 1 then
            nVelocidad = 1
    elseif nVelocidad > 226 then
        nVelocidad = 226
    endif 
    oPlay.setRate( nVelocidad/100 ) ' 50, 150, etc. 100 es el modo normal
end sub

Fuentes: Este truco está basado en el código macro facilitado por Mauricio, moderador del Foro español de Apache OpenOffice en este tema y el de éste otro tema del foro inglés.

En el enlace al foro español puedes descargar un documento de ejemplo de Calc.

 

2 comentarios

Comentario De: Itzayana Chairez [Visitante]

Hola, me parece muy interesnate tu aporte, solo que tengo varias dudas, quiero realizar el Segundo punto, es dedcir que se reproduzca la musica al abrir la hoja y se detenga al salir de ella, pero no entiendo como hacerlo es decir donde hago click para colocar las macros?, si fuera amable de mostrarme, muchas gracias!

27.09.16 @ 15:40 Reply to this comment
Comentario De: [Miembro]

Hola Itzayana
Haciendo clic secundario sobre la pestaña de la hoja, selecciona Eventos de la hoja...
Utiiza los eventos Activar documento y Desactivando documento para asignar las macros que activan o desactivan la reproducción musical.
Saludos :)


Form is loading...