Multimedia en un formulario. Net tabla de contenidos




descargar 78.62 Kb.
títuloMultimedia en un formulario. Net tabla de contenidos
fecha de publicación05.02.2016
tamaño78.62 Kb.
tipoDocumentos
med.se-todo.com > Derecho > Documentos

http://jms32.eresmas.net/2006/textos/06102101.html#ComoReproducirUnArchivoDeSonidoEnUnFormulario

Multimedia en un formulario .NET



Tabla de contenidos


  • 1) Como poner una animación en un formulario

    • 1.1) Usando un GIF animado

    • 1.2) Usando el control ActiveX Microsoft Animation Control 6.0.

    • 1.3) Usando el control ActiveX de Microsoft Windows Media Player 9 Series




  • 2) Como reproducir un archivo de Sonido en un formulario.

    • 2.1) Utilización del API de Windows.

    • 2.2) Utilización de My.Computer.Audio.

      • 2.2.1) Reproducción en primer plano

      • 2.2.2) Reproducción en segundo plano

      • 2.2.3) Reproducción de un sonido en segundo plano en bucle de repetición

      • 2.2.4) Detener la reproducción de un sonido en segundo plano.

      • 2.2.5) Reproducir un sonido del sistema.


  • A. Anexos

    • A1. Referencias

    • A2. Enlaces

    • A3. Informacion del documento



1) Como poner una animación en un formulario



Índice

1.1) Usando un GIF animado


  • Para ello solo tenemos que usar un control PictureBox, y utilizar el cuadro de propiedades del control para asignar en la propiedad "image" el fichero del Gif. El control se encarga de reproducirlo sin necesidad de hacer nada más.


Índice

1.2) Usando el control ActiveX Microsoft Animation Control 6.0.

a) Añadir el control ActiveX al proyecto de Visual Basic .NET:


  • En el cuadro de herramientas, mostrar la pestaña "Componentes". - con el menú contextual "Agregar o quitar componentes" abrimos el diálogo "Personalizar cuadro de herramientas". - en la pestaña "Componentes COM" buscamos y marcamos "Microsoft Animation Control 6.0". Si no apareciese en la lista de componentes, con el botón "Examinar" navegamos en busca de la librería mscomctl2.dll (suele estar en el directorio windows\system32).

b) Añadir el control al cuadro de herramientas


  • Normalmente el control no aparece en cuadro de herramientas, para ponerlo, pulsamos el botón derecho del ratón encima de la pestaña "general", y pulsamos el botón derecho del ratón. En el menú emergente seleccionamos "Elegir Elementos", en la ventana que se abre pulsamos la pestaña COM y después buscamos el control que acabamos de añadir, "Microsoft Animation Control 6.0", cuando lo localicemos, pulsamos el cuadro Check que hay a su izquierda y luego aceptar para que se cierren todas las ventanas. Si hemos hecho bien las cosas, ahora parece en la pestaña "general" del cuadro de herramientas el icono del control y ya podemos echarlo (arrastrarlo) sobre nuestro formulario.

c) Escribir el código en nuestro proyecto


  • Normalmente utilizaremos una función para establecer los parámetros del control. En las líneas siguientes se muestra un ejemplo de una función de ese tipo.

Private Sub MostraPeliculaEnControlAnimation()

' ---------------------------------------------

' Microsoft Animation Control 6.0

' Windows/syetm32/MSCOMCTL2.OCX

' ---------------------------------------------

' ATENCION:El control Animacion no reproduce el sonido

' que pueda tener el fichero AVI

' ---------------------------------------------

' Variable para contener una cadena con la ruta absoluta

' o relativa del fichero AVI que vamos a mostrar

Dim ficheroAnimacion As String = String.Empty

ficheroAnimacion = "..\..\Resources\DRILLRLE.AVI"
' poner el control invisible

AxAnimation1.Visible = False

Try

' abrir el fichero avi

AxAnimation1.Open(ficheroAnimacion)

' control visivle

AxAnimation1.Visible = True

' reproduccion continua

AxAnimation1.AutoPlay = True ' continua

' Comenzar la reproduccion

AxAnimation1.Play()

Catch ex As Exception

' ---------------------------------------------

' Cuando se produce un error, normalmente es:

' a)porque no se encuentra el ficheor AVI, o bien

' b)no tiene el formato adecuado

' ---------------------------------------------

ficheroAnimacion = "NoEncontrado"

AxAnimation1.Visible = False

' esta linea se puede comentar

MessageBox.Show(ex.Message)

End Try

End Sub
Índice

1.3) Usando el control ActiveX de Microsoft Windows Media Player 9 Series.


Los pasos a seguir son prácticamente los mismos que en el control anterior

a) Añadir el control ActiveX al proyecto de Visual Basic .NET:


  • En el cuadro de herramientas, mostrar la pestaña "Componentes". - con el menú contextual "Agregar o quitar componentes" abrimos el diálogo "Personalizar cuadro de herramientas". - en la pestaña "Componentes COM" buscamos y marcamos "Windows Media Player". Si no apareciese en la lista de componentes, con el botón "Examinar" navegamos en busca de la librería wmp.dll (suele estar en el directorio windows\system32).

b) Añadir el control al cuadro de herramientas


  • Normalmente el control no aparece en cuadro de herramientas, para ponerlo, pulsamos el botón derecho del ratón encima de la pestaña "general", y pulsamos el botón derecho del ratón. En el menú emergente seleccionamos "Elegir Elementos", en la ventana que se abre pulsamos la pestaña COM y después buscamos el control que acabamos de añadir, "Windows Media Player", cuando lo localicemos, pulsamos el cuadro Check que hay a su izquierda y luego aceptar para que se cierren todas las ventanas. Si hemos hecho bien las cosas, ahora parece en la pestaña "general" del cuadro de herramientas el icono del control y ya podemos echarlo (arrastrarlo) sobre nuestro formulario.

c) Escribir el código en nuestro proyecto


  • Antes de empezar a escribir código, hay que pulsar el botón derecho del ratón sobre el control que hemos puesto en nuestro formulario para abrir el menú contextual "Propiedades" del control y elegimos "Inicio automático" Las demás opciones pueden dejarse como están.

  • Al igual que en caso anterior, yo acostumbro a escribir el código para pasar el fichero AVI al control en una función independiente. En las líneas siguientes se muestra un ejemplo de una función de ese tipo.

Private Sub MostraPeliculaEnControlAxWindowsMediaPlayer()
' Variable para contener una cadena con la ruta absoluta

' o relativa del fichero multimedia que vamos a mostrar

Dim ficheroMultimedia As String = String.Empty

ficheroMultimedia = "MisResources\clock.avi"
' poner el control invisible

AxWindowsMediaPlayer1.Visible = False
Try
AxWindowsMediaPlayer1.Visible = True

' quitar los botones de mando 'full los pone

AxWindowsMediaPlayer1.uiMode = "none"
' ocxPlayer.ShowPropertyPages()

AxWindowsMediaPlayer1.URL = ficheroMultimedia
' El número de veces que se reproduce se pone a través

' de la página de propiedades

Catch ex As Exception

ficheroMultimedia = "NoEncontrado"

AxWindowsMediaPlayer1.Visible = False

' esta linea se puede comentar

MessageBox.Show(ex.Message)

End Try

End Sub

d) Referencia bibliográfica


La idea esta sacada del código que se encuentra en la siguiente dirección, [ WMP9 ] que emplea un control [el control ActiveX de Microsoft Windows Media Player 9 Series] para reproducir una serie de canciones
Índice

2) Como reproducir un archivo de Sonido en un formulario.


Para reproducir un sonido tenemos varias alternativas, de hecho si empleamos luna versión de Visual Basic anterior a la 2005, no tenemos más remedio que utilizar la API de Windows. Si empleamos el 2005, podemos emplear las clases incluidas en My.
Índice

2.1)Utilización del API de Windows.


Existen varios ejemplos en muchos istios de la red, Por ejemplo el sitio del Guille [ ElGuille ], que desde hace tiempo explican como utilizar las funciones API para tocar un fichero de sonido

Pero despues de mucho (ja, ja) investigar, encontre el siguiente un ejemplo que está en la ayuda Microsoft MSDM. [ PLAYSOUND], esta un poco mejorado, y funciona perfectamente, Los que empleamos la versión Express 2005 ya no lo necesitamos, pero funciona perfectamente, y ademas, es un ejemplo muy bueno de cómo se deben encapsular una función API en una clase.

A la Hora de ponerla en .NET he tenido que modificarla un poco y el código te lo muestro a continuación.

Option Explicit On

Option Strict On
''' -------------------------------------------------

'''

''' Clase para reproducir un archivo de sonido que esta en un archivo

''' del disco

'''


'''

'''
Referencia bibliografica Ayuda MSDM


'''
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.3082/dv_vbcode/html/vbtskCodeExamplePlayingSound.htm

'''


'''


'''

''' En este ejemplo se reproduce un sonido a partir de un archivo.

'''

''' Private Sub SonarLaAlarma()

''' Dim SoundInst As SoundClass = Nothing

''' Try

''' ' Instanciar la clase

''' SoundInst = New SoundClass()

''' ' Tocar el sonido

''' SoundInst.PlaySoundFile("MisResources/45.wav")

''' ' continuar en el finally

''' Catch ex As Exception

''' Throw ex

''' Finally

''' SoundInst = Nothing

''' End Try

''' End Sub

'''


'''


''' -------------------------------------------------

Public Class SoundClass

'----------------------------------------------------------------------------

'Programación sólida

'* PlaySound devuelve true cuando tiene éxito y false cuando no es así.

'* Si el archivo especificado no existe, PlaySound reproduce el sonido de

' evento de sistema predeterminado y no devuelve ningún error.

'* El nombre de archivo debe hacer referencia a un archivo de sonido que

' se encuentre en el sistema.
'----------------------------------------------------------------------------

Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _

As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer

' name specifies the sound file when the SND_FILENAME flag is set.

' hmod specifies an executable file handle.

' hmod must be Nothing if the SND_RESOURCE flag is not set.

' flags specifies which flags are set.
' The PlaySound documentation lists all valid flags.

Public Const SND_SYNC As Integer = &H0 ' play synchronously

Public Const SND_ASYNC As Integer = &H1 ' play asynchronously

Public Const SND_FILENAME As Integer = &H20000 ' name is file name

Public Const SND_RESOURCE As Integer = &H40004 ' name is resource name or atom


''' -------------------------------------------------

'''

''' Reproducir un archivo de sonido que esta en un archivo del disco

'''


'''

'''
Referencia bibliografica Ayuda MSDM


'''
ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.3082/dv_vbcode/html/vbtskCodeExamplePlayingSound.htm

'''


'''
Si el archivo especificado no existe, se reproduce el

''' sonido de evento de sistema predeterminado y no devuelve ningun

''' error.


'''


'''


''' El nombre de archivo que debe hacer referencia a un archivo

''' de sonido que se encuentre en el sistema

'''

''' (System.String)

'''


'''


'''

'''
Un valor booleano.: Devuelve


'''
True.: cuando tiene exito y el archivo de sonido

''' se reproduce


'''
False: cuando por la razon que sea no se reproduce el

''' sonido


'''

''' (System.Boolean)

'''


'''


'''

''' En este ejemplo se reproduce un sonido a partir de un archivo.

'''

''' Private Sub SonarLaAlarma()

''' Dim SoundInst As SoundClass = Nothing

''' Try

''' ' Instanciar la clase

''' SoundInst = New SoundClass()

''' ' Tocar el sonido

''' SoundInst.PlaySoundFile("MisResources/45.wav")

''' ' continuar en el finally

''' Catch ex As Exception

''' Throw ex

''' Finally

''' SoundInst = Nothing

''' End Try

''' End Sub

'''


'''


''' -------------------------------------------------

Public Function PlaySoundFile(ByVal nombreFicheroSonido As String) As Boolean

Try

' Plays a sound from filename.

Return CBool(PlaySound(nombreFicheroSonido, _

Nothing, _

SND_FILENAME Or SND_ASYNC))

Catch ex As Exception

Throw ex

End Try

End Function
End Class

Índice

2.2)Utilización de My.Computer.Audio.


Cuando pensaba que tenia el problema resuelto, me encuentro con la agradable sorpresa de los recursos que proporciona el objeto MY y resulta que de una forma mucho mas sencilla y con muchas menos líneas de código se puede hacer sonar un sonido Wav

Si disponemos de la última versión de Visual Basic la versión (2005) con la versión 2.0 de .NET Framework. Podremos utilizar el objeto My.Computer.Audio [ AUDIO ], para reproducir archivos de sonido Wav [ PLAY ],que estén tanto en un fichero en uno de nuestros discos como en un fichero de recursos

La función que se encarga de reproducir el sonido Wav es[ PLAY ]. La forma de reproducirse el sonido (en primer plano, sonido de fondo, o de fondo repetitivo), esta indicad o por el valor de la enumeración [ AudioPlayMode ]

El método My.Computer.Audio.Play permite que la aplicación reproduzca sólo un sonido plano a la vez;

Palabras claves

[ AUDIO ], [ PLAY ], [ AudioPlayMode ], [ WaitToComplete ], [ Background ], [ BackgroundLoop ], [ Stop ], [ PlaySystemSound ],
Índice

2.2.1)Reproducción en primer plano


Cuando se toca un sonido en primer plano, el sistema se 'congela' hasta que acabe el sonido [ WaitToComplete ], [ AudioPlayMode ],

Este ejemplo reproduce sonidos de un archivo de sonido y un recurso de aplicación utilizando el método My.Computer.Audio.Play y espera a que terminen. [ AUDIO ], [ PLAY ],

El archivo de sonido .wav denominado Waterfall debe estar en uno de nuestros discos duros del sistema.

La ruta del fichero debe ser una ruta completa. No valen las rutas relativas

Sub PlaySoundFile()

My.Computer.Audio.Play("C:\Waterfall.wav", _

AudioPlayMode.WaitToComplete)

End Sub
Compruebe que los recursos de la aplicación incluyen un archivo de sonido .wav denominado Waterfall.

Sub PlaySoundResource()

My.Computer.Audio.Play(My.Resources.Waterfall, _

AudioPlayMode.WaitToComplete)

End

Sub

Índice

2.2.2)Reproducción en segundo plano


En este ejemplo se reproduce un sonido en segundo plano [ Background ].

Solo se puede tocar un sonido en segundo plano

La reproducción en segundo plano permite que la aplicación ejecute otro código mientras se reproduce el sonido.

Cuando la aplicación reproduce un nuevo sonido en segundo plano, deja de reproducir el sonido anterior. Existe la posibilidad de reproducir un sonido en premier plano, es decir, el sistema se 'congela' y esperar a que termine.

Ejemplo

El método My.Computer.Audio.Play reproduce un sonido en segundo plano cuando se especifica PlayMode.Background [ AUDIO ], [ PLAY ], [ AudioPlayMode ], [ Background ],

Sub PlayBackgroundSoundFile()

My.Computer.Audio.Play("C:\Waterfall.wav", _

AudioPlayMode.Background)

End Sub
Compruebe que los recursos de la aplicación incluyen un archivo de sonido .wav denominado Waterfall.

Sub PlayBackgroundSoundResource()

My.Computer.Audio.Play(My.Resources.Waterfall, _

AudioPlayMode.Background)

End Sub
Índice

2.2.3) Reproducción de un sonido en segundo plano en bucle de repetición


En general, cuando una aplicación reproduce un sonido en bucle, [ BackgroundLoop ], debería detener el sonido en algún momento. Para obtener más información, vea Cómo: Detener la reproducción de sonidos en segundo plano en Visual Basic.[ Stop ],

Ejemplo

Sub PlayLoopingBackgroundSoundFile()

My.Computer.Audio.Play("C:\Waterfall.wav", _

AudioPlayMode.BackgroundLoop)

End Sub

Sub PlayLoopingBackgroundSoundResource()

My.Computer.Audio.Play(My.Resources.Waterfall, _

AudioPlayMode.BackgroundLoop)

End Sub
Índice

2.2.4) Detener la reproducción de un sonido en segundo plano.


El método My.Computer.Audio.Stop, detiene la reproducción del sonido en segundo plano o en bucle de repetición que está reproduciendo actualmente la aplicación.[ Stop ],

Ejemplo

Sub StopBackgroundSound()

My.Computer.Audio.Stop()

End Sub
Índice

2.2.5) Reproducir un sonido del sistema.


En este ejemplo se utiliza el método My.Computer.Audio.PlaySystemSound para reproducir un sonido del sistema. [ PlaySystemSound ]

El método My.Computer.Audio.PlaySystemSound toma como parámetro uno de los miembros compartidos de la clase SystemSound.

Sub PlaySystemSound()

My.Computer.Audio.PlaySystemSound( _

System.Media.SystemSounds.Asterisk)

End Sub

ATENCION

Este ejemplo de código sólo se puede ejecutar en un formulario Windows Forms o en una aplicación de consola.

Reproducir audio con Visual Basic .Net

http://www.mejoralex.com/reproducir-audio-con-visual-basic-net

Con visual Basic .Net podemos reproducir archivos de audio como mp3 o Wav.

Lo único que necesitamos es agregar el componente Windows Media Player al cuadro de herramientas. Para esto, damos clic derecho sobre el cuadro de herramientas y seleccionamos la opción “Elegir elementos”.

Hacemos clic en la ficha “Componentes COM” y buscamos el componente “Windows Media Player” que en su ruta de acceso apunte hacia: msdxm.ocx.


Seleccionamos su cuado de opción y le damos aceptar.
En el cuadro de herramientas debe de aparecer un nuevo control llamado Windows Media Player que necesitamos agregar ahora al formulario.

Ahora comenzamos con la codificación

El primer paso será ocultar el control al usuario, si es que queremos hacerlo y si queremos que no comience a reproducir al iniciar el programa ponemos esto:

'ocultar el reproductor

AxMediaPlayer1.Visible = False

'impedir reproducci¢n automatica

AxMediaPlayer1.AutoStart =False

Le asignamos un archivo de audio y reproducimos con el método play():

AxMediaPlayer1.FileName "C:\miaudio.mp3"

AxMediaPlayer1.Play()

 

Podríamos para mejorar este código insertar un OpenFiledialog para buscar archivos y reproducirlos y también poner botones de Play, Stop y Pausa.

Para utilizar esos botones existen tambien los métodos del mismo nombre y que su manera de utilizatr es similar al método Play. Aquí unos ejemplos:

AxMediaPlayer1.Stop()

AxMediaPlayer1.Pause()


Es importante que siempre se manejen capturas de errores en todas las aplicaciones, cobre todo en este caso, cuando el archivo de audio se especifica mediante código y no forma parte de los recursos del programa, es decir, que se encuentra en una carpeta que podría ser borrada.

También hay que tomar en cuenta que solo se reproducirán archivos de audio de los formatos que el reproductor de windows admite.

similar:

Multimedia en un formulario. Net tabla de contenidos iconTabla de contenidos

Multimedia en un formulario. Net tabla de contenidos iconTabla de contenidos

Multimedia en un formulario. Net tabla de contenidos iconTabla de Contenidos

Multimedia en un formulario. Net tabla de contenidos iconTabla de contenidos

Multimedia en un formulario. Net tabla de contenidos iconPlan de estudios tabla de Contenidos

Multimedia en un formulario. Net tabla de contenidos icon1. Tabla de contenidos. Los flujos de bienes y servicios

Multimedia en un formulario. Net tabla de contenidos icon101 Grado en Ingeniería Multimedia (Escuela Técnica Superior de Ingeniería)...

Multimedia en un formulario. Net tabla de contenidos iconTabla 8 dimensiones y materiales tabla 9 codigo de colores tabla...

Multimedia en un formulario. Net tabla de contenidos iconCaracterísticas técnicas s. Net. 2C

Multimedia en un formulario. Net tabla de contenidos iconProgramador/a net con wcf / Silverlight, Barcelona


Medicina



Todos los derechos reservados. Copyright © 2015
contactos
med.se-todo.com