SEXTA ENTREGA: SONIDO

En los últimos dos capítulos se han visto varias formas de trabajar con los archivos del Mac, tanto para acceder a ellos como para modificar o consultar algunas de sus propiedades; por ejemplo, los indicadores de estado de visibilidad o bloqueo. En esta ocasión, sumaremos a lo visto en este sentido otra cuestión que, para obtener el máximo partido, también está relacionada con el trabajo con los archivos: la reproducción de archivos de sonido.

RealBASIC propone varias formas de trabajar con sonido en nuestros programas. La primera, siendo también la más básica, es el típico aviso acústico empleado por las aplicaciones para llamar nuestra atención sobre un particular (ya sea acompañando a un cuadro de diálogo o como respuesta a una acción no soportada); se trata del aviso de alerta.

El método utilizado por RealBASIC para llevar a cabo esta acción es la orden Beep, y no requiere de ningún tipo de parámetro adicional. Basta con incluir dicho comando entre nuestro código para que, al llegar a éste, se reproduzca el sonido de alerta seleccionado en el Mac OS. (En el Mac OS 9, Panel de Control Sonido, apartado Sonidos de alerta.)

BEEP

Por ejemplo, si deseamos que al ejecutarse la aplicación se emita el sonido de alerta, bastará con introducir la siguiente línea en el Evento Open:

Sub Open

Beep

End Sub

Si se desea que el sonido de alerta se reproduzca múltiples veces, bastará con repetir la línea tantas veces como se quiera que suene o bien emplear un bucle convencional del tipo (for? next).

De este modo, para que el sonido de alerta se reproduzca tres veces consecutivas, podrá hacerlo de las siguientes formas:

Ejemplo 1:
Sub Open

Beep

Beep

Beep

end sub

Ejemplo 2:

Sub Open

Dim a as integer

for a = 0 to 2

beep

next

end sub

SOUND

Ahora bien, si deseamos dar a nuestra aplicación un carácter propio en el que cualquier tipo de sonido esté personalizado y no guarde relación con la elección realizada por el usuario, RealBASIC pone a nuestra disposición la clase Sound.

Las similitudes entre Sound y Beep se encuentran en que ambas, en definitiva, reproducen archivos de sonido cuyo formato sea el de sonido del sistema (SFIL). La amplia mayoría de aplicaciones y utilidades de sonido le permitirán generar archivos sonoros en este formato; por ejemplo, si tiene instalada la versión profesional de QuickTime, podrá utilizar la utilidad de reproducción QuickTime Player para realizar la conversión de sus archivos de sonido (pongamos por caso, en formato AIFF), al formato de sonido del sistema SFIL. De este modo, tras realizar la conversión, podrá arrastrarlo directamente sobre el archivo System para que se añada a éste y reproducirlo mediante el método Beep, tras haberlo seleccionado en el panel de control Sonido como sonido de alerta o, mucho más flexible, reproducirlo mediante la clase Sound de cualquiera de las siguientes formas:

  • Incluido en la propia aplicación.
  • Acceso al sonido como archivo externo.

Antes de ver su funcionamiento, explicaremos brevemente cada uno de los métodos asociados con la clase Sound.

IsPlaying. Al consultar este método obtendremos el valor booleano True en el caso de que el sonido se esté reproduciendo y False si ya ha finalizado.

Play. Cuando se aplica este método sobre un objeto de la clase Sound (sonido), se procederá a la reproducción de dicho objeto. Así de sencillo.

Como ya se comentó en los primeros capítulos de este cursillo, RealBASIC permite incluir diversos elementos directamente en la aplicación con una acción tan sencilla como arrastrar los correspondientes archivos a