“Sound Items”
La entrada de sonidos a la base de datos es permitido a través de “forms”. Para hacer esto es necesario hacer una forma con la tabla AV_DATA por medio del “wizard”. Por “default forms” escoge “image” como el objeto que va a utilizar con un atributo BLOB. Vamos al “property palette” y en “Item Type” escogemos “Sound”.
Otras propiedades que nos interesan aparecen en “Physical” y son las siguientes.
“Show Play Button”, “Show Record Button”, “Show Rewind Button”, “Show Fast Forward Button”, “Show Volume Control”, “Show Time Indicator”, “Show Slider”.
Usted escoge los necesarios.

Para propósito del ejercicio el “data block” le llamamos “AV_DATA_SOUND”.

Debido a que los sonidos contienen muchos “bits” una manera de
minimizar la sobrecarga a la base de datos es editando las propiedades del
“data block” que maneja esos datos y en la propiedad de “Update Changed Columns
Only” escogemos “Yes”

Creamos un botón en el “canvas” como vemos a continuación.

En el “trigger WHEN-BUTTON-PRESSED” le escribimos el siguiente “script” .
declare
v_dirname VARCHAR2(255);
v_filename
VARCHAR2(255);
BEGIN
v_dirname := 'My
Computer'; --Source filename
v_filename := GET_FILE_NAME
(
v_dirname,
NULL,
'Wave Files (*.wav) |
*.wav|'
)
;
IF v_filename IS NOT
NULL THEN
READ_SOUND_FILE(
v_filename,
'ANY' ,
'av_data_sound.blob_data'
--Data block name and item
)
;
END IF;
END;
Debe compilarlo. Lucirá así.

Cuando lo corra debe verse así.

Oprima el botón de “Load Sound” y se abrirá una ventana.
Escoja en C: WINNT\Media uno de los “Wave Files” y escoja “Open” en la ventana.

Una vez lo escoja se debe ver en el objeto así. Tenga en cuenta que el “Blob Id” no se puede repetir con los de las imágenes ya que utiliza la misma tabla.
