MCICommandString - DLL InfraMedia

Iniciado por BlackZeroX, 25 Diciembre 2008, 01:05 AM

0 Miembros y 2 Visitantes están viendo este tema.

BlackZeroX

Esta es una libreria donde pongo funciones de MCI para poder manejar según los codec's instalados en la pc:
Música
Imagenes
Videos

Dichos codigos no son la gran cosa ya que cualquiera los podria crear con solo leer la MSDN, solo son funciones que sustituyen a dichos comandos MCI (abajo muestro unos 3er post secuencial.)

Usa la Api mciSendString y mciGetErrorString

Funciones que incluye la DLL:

hay funciones que piden
:::WindowsStyle::: lo tipos son:
popup
child
(creo que hay otro mmm igual pueden buscar mas info sobre MCI y asi encuentran el otro xP)


AbrirComoVentana
AbrirMedia
AcercaDe
Audio_Derecho_OFF
Audio_Derecho_ON
Audio_EstableceLeftVolume
Audio_EstableceRightVolume
Audio_EstableceVolumenGeneral
Audio_EstadoDelAudio
Audio_Izquierdo_OFF
Audio_Izquierdo_ON
Audio_ObtenerLeftVolume
Audio_ObtenerRightVolume
Audio_ObtenerVolumenGeneral
Audio_OFF
Audio_ON
CerrarMedios
ChecarError
Device_Listo
Device_Nombre
Device_Version
Disquera_Abrir
Disquera_Cerrar
Establece_PocicionEn
Establece_TamanoLocal
Establece_Velocidad
Estraer_TamanoPred
MedioX_AdelantarCuadros
MedioX_AdelantarMilisegundos
MedioX_AdelantarSegundos
MedioX_AtrasarCuadros
MedioX_CerrarMedia
MedioX_DetenerMedio
MedioX_FormatoTiempo
MedioX_FormatoTiempoFaltante
MedioX_FormatoTiempoPosicion
MedioX_MinimizarMedio
MedioX_MostrarMedio
MedioX_Obtener_CuadrosPorSegundo
MedioX_Obtener_TamanoActual
MedioX_Obtener_TamanoOriginal
MedioX_Obtener_Velocidad
MedioX_Obtener_VelocidadNominalEnCuadros
MedioX_OcultarMedio
MedioX_PausarMedio
MedioX_PosicionEnMilisegundos
MedioX_ReiniciarMedio
MedioX_ReproduceFullScreen
MedioX_Reproduciendo
MedioX_ReproducirMedia
MedioX_RestaurarMedio
MedioX_ResumirMedio
MedioX_TiempoFaltanteEnCuadros
MedioX_TiempoFaltanteEnMilisegundos
MedioX_TiempoFaltanteEnSegundos
MedioX_Video_Estado
MedioX_VideoOff
MedioX_VideoOff_ALL
MedioX_VideoOn
MedioX_VideoOn_ALL
Obtener_BitsPorPicel
Obtener_EntradaDelMedio
Obtener_EstadoDelMedio
Obtener_PosicionEnCuadros
Obtener_PosicionEnSegundos
Obtener_SalidaDelMedio
Restaurar_TamanoOriginal
stepCuadros
UrlMedia_Establece


Como ven esta muy completa esta libreria pero aun me faltan opciones a como yo lo veo.

Descargar En RAR
Descargar En Zip


Comentarios? gracias

Saludos
The Dark Shadow is my passion.

BlackZeroX

#1
ejemplos sencillos:

se nesesita solo un timer y en un formulario:

Reproduce un Medio infinitamente (gracias a que el timer verifica si se esta reproduciendo o NO xP)
Código (vb) [Seleccionar]

Dim pr As New InfraMediaByOAMA
private sub form_load()
        With PR
            '.cerrarmedios 'Cierra TODOS los medios que se abrieron con anterioridad
            .UrlMedia_Establece "ruta del archivo no importa si es musica, imagen o video"
            .abrirmedia
            .mediox_reproducirmedia
            AutoRedraw = True
            Print .mediox_posicionenmilisegundos(0)
            MsgBox .AcercaDe
        End With
end sub


Private Sub Form_Terminate(): PR.cerrarmedios: End Sub

Private Sub Timer1_Timer()
    If Not PR.mediox_reproduciendo Then
        PR.mediox_reiniciarmedio
    End If
    info
End Sub
   
Sub info()
    Cls
    With PR
        Print "----------------------------------------------"
        Print "Tiempo del Medio: " & vbTab & vbTab & vbTab & .MedioX_FormatoTiempoPosicion & "  " & .mediox_FormatoTiempofaltante
        Print "----------------------------------------------"
        Print "Velocidad Actual de Medio: " & vbTab & vbTab & .MedioX_Obtener_Velocidad
        Print "----------------------------------------------"
        Print "Version del Componente MCI: " & vbTab & vbTab & .device_version
        Print "----------------------------------------------"
        Print "estado de Componente MCI: " & vbTab & vbTab & .device_listo
        Print "----------------------------------------------"
    End With
End Sub


el codigo anterior si se le pone la ruta de una imagen o video este saldrá de una ventana emergente ("PopUp")
si se desea mostrar un video o imagen en un lugar especifico usar el siguiente codigo:


Código (vb) [Seleccionar]

Dim pr As New InfraMediaByOAMA
Private Sub form_load()
        With pr
            '.cerrarmedios 'Cierra TODOS los medios que se abrieron con anterioridad
            .UrlMedia_Establece "ruta de la imagen o video"
            .AbrirComoVentana Picture1.hWnd, "child"   '.AbrirMedia
            .MedioX_ReproducirMedia
            AutoRedraw = True
            Print .MedioX_PosicionEnMilisegundos(0)
            MsgBox .AcercaDe
        End With
End Sub


Private Sub Form_Terminate(): pr.CerrarMedios: End Sub

Private Sub Timer1_Timer()
    If Not pr.MedioX_Reproduciendo Then
        pr.MedioX_ReiniciarMedio
    End If
    info
End Sub
   
Sub info()
    Cls
    With pr
        Print "----------------------------------------------"
        Print "Tiempo del Medio: " & vbTab & vbTab & vbTab & .MedioX_FormatoTiempoPosicion & "  " & .MedioX_FormatoTiempoFaltante
        Print "----------------------------------------------"
        Print "Velocidad Actual de Medio: " & vbTab & vbTab & .MedioX_Obtener_Velocidad
        Print "----------------------------------------------"
        Print "Version del Componente MCI: " & vbTab & vbTab & .Device_Version
        Print "----------------------------------------------"
        Print "estado de Componente MCI: " & vbTab & vbTab & .Device_Listo
        Print "----------------------------------------------"
    End With
End Sub
The Dark Shadow is my passion.

BlackZeroX

#2
Podre aquí un poco de MCI Command String

use open para identificarlo posteriormente al medio actual y poder realizar los demas Comdos posteriormente por medio del identificador, Play + ruta del archivo solo reproduce pero no realiza cambios posterioes almenos que se le ponga un alias.

Código (vb) [Seleccionar]

archivo="Ruta del archivo"
tipo="mpeg" ' puede ser otro tipo este lo cambian según los codecs
identificador="un nombre o numero" 'servira para hacerse una modificación al medio abierto posteriormente xP

"open " & chr(32) & Archivo & chr(32)  & " type " & Tipo & " alias " & Identificador & " "
"play " & indetificador & " "
o
"play " & chr(32 & rutadelarchivo & chr(32) & " "
"play " & identificador & " fullscreen"

Código (vb) [Seleccionar]

"setaudio " & identificador & " volume to " & Valor
"setaudio " & identificador & " left volume to " & Valor
"setaudio " & identificador & " Right volume to " & Valor



para obtener vvolumen posicion y demas usese status
Código (vb) [Seleccionar]

"status " & identificador & " volume"
"status " & identificador & " left volume"
"status " & identificador & " Right volume"

Código (vb) [Seleccionar]

"set " & identificador & " video off"
"set " & identificador & " video on"
"set " & identificador & " volume off"
"set " & identificador & " audio all off"
"set " & identificador & " audio all on"


si quieren callar solo un lado seai zquierdo o derecho usese Left o Right según se dee

Si deseean mas informacion sobre los MCI Command String esta el MSDN Click para acceder o google
The Dark Shadow is my passion.

byway

Esta es una libreria donde pongo funciones de MCI para poder manejar según los codec's instalados en la pc:

:o :o :o :o :o :o :o :o

Código (vb) [Seleccionar]
Dim pr As New InfraMediaByOAMA

:o :o :o :o :o :o :o :o

InfraMediaByOAMA

:¬¬ :¬¬ :o :o :o :o :o :o


Karcrack

Ademas de como resalta byway que el autor de la libreria no esta claro quien es....
los links no funcionan

Saludos :rolleyes:

seba123neo

no es serio esto, ¿¿al final quien es el autor?? :xD, esta linea de codigo me dejo mudo:

Código (vb) [Seleccionar]
Private Sub Form_Terminate(): PR.cerrarmedios: End Sub :-\ :-\

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

BlackZeroX

#6
Antes que nada Links Arreglados.

>|------------------------>

Código (vb) [Seleccionar]
Dim pr As New InfraMediaByOAMA
InfraMediaByOAMA

OAMA

Ortega Avila Miguel Angel   =   OAMA

Siempre me a sonado a Iraqi pero bueno es mi diminutivo pero igual.¡!

Cita de: seba123neo en 27 Diciembre 2008, 01:16 AM
no es serio esto, ¿¿al final quien es el autor?? :xD, esta linea de codigo me dejo mudo:

Código (vb) [Seleccionar]
Private Sub Form_Terminate(): PR.cerrarmedios: End Sub :-\ :-\

mmm cual es la diferencia de Terminate y Unload?, mmm (cuando termina y cuando se descarga, cual es la diferencia mmm) :-\ :-\

De igual forma pudo hacer sido:

Código (vb) [Seleccionar]

pr.MedioX_cerramedio [indentificar] ' si no se pone identificador se tomara 0 por default
pr.MedioX_cerramedio ' mci close id

' Pero como cierro el APP y no deseo seguir oyendo nada mejor uso (solo solo en el VB)

pr.Cerrarmedios ' mci => close all


Algo mas ¬¬!    :rolleyes:

P.D.: El identificaador llega hasta 100 elementos (0-99), lo realice asi para evitarme la pena de crear mas de 1 vez la dll y posibleemente hacer degradados intercalados de música (exagere con los 100 elementos lo se ¬¬).
The Dark Shadow is my passion.

Karcrack


BlackZeroX

Cita de: Karcrack en 27 Diciembre 2008, 12:21 PM
Lamento haber dudado ;)

Buen proyecto ;D ;)

Cita de: Albert Einstein
Todos somos ignorantes;lo que pasa es que no todos ignoramos las mismas cosas - Albert Einstein

No hay cuidado
The Dark Shadow is my passion.