Anuncio : Este proyecto ahora es completamente reemplazado por https://github.com/bazzacuda/minimalistmediaplayerx/ que se basa en la famosa API MPV, LibMPV. ( ¡La versión 3 está fuera! ) Como tal, proporciona un control superior sobre su experiencia de audio y video (¡e imágenes!), Incluyendo el zoom, la sartén, la rotación, la rotación, el marco hacia adelante y el retroceso (!), Subtítulos, brillo, contraste, gamma y saturación, capturas de pantalla y edición rápida, además de proporcionar un soporte superior para los formatos de medios mundiales.
A menos que obtenga solicitudes específicas de enmiendas (correcciones de errores), la versión actual de esta versión [aquí] del reproductor multimedia minimalista (construido en el control activo de Windows Media Media más limitado de Microsoft) es la última. ¡Adiós, sirviente fiel!
Un reproductor multimedia simple pero muy efectivo construido alrededor del control de Windows Media Player ActiveX.
Minimalist Media Player proporciona una interfaz de usuario minimalista/operada por el teclado (de modo que los controles en pantalla no rayan desde el video) y los controles con los cuales para ver el video en una ventana minimalista con la opción de no tener bordes, barra de título de ventana, barra de progreso, videos, etc, etc., y con la ventana aliviado para adaptarse al video perfecto, eliminando feo bordones/bandas de bandas de videos a continuación. Esto proporciona una experiencia de visualización inmersiva incluso cuando se juega en modo de ventana en lugar de pantalla completa.
Aunque hay muchos controles para recordar, he tratado de usar cada letra alfabética intuitivamente. La descripción de la acción debe ayudar a asociar la acción con la carta.
| Control | Acción |
|---|---|
ALT-SPACEBAR | Active el menú del sistema para llegar al cuadro Acerca de |
ESCape | Salir al modo de pantalla completa o salir de la aplicación si está en modo de ventana |
SPACEBAR | Plaza de pausa/currículum (también hace doble clic en el mouse izquierdo en el video o clic en el mouse derecho) (todas las ventanas de medios, solo barra espaciadora) |
Ctrl-Up Arrow | Aumentar la velocidad de reproducción 10% |
/ | Aumentar la velocidad de reproducción 10% |
Ctrl-Down Arrow | disminuir la velocidad de reproducción 10% |
| disminuir la velocidad de reproducción 10% |
F12 | Abra el archivo de medios en el editor de video de terceros (actualmente dispara) |
= | Copiar el nombre del archivo multimedia en el portapapeles |
A | Juega el primer archivo de medios en la lista de reproducción (Z juega al último) |
B | [B] falta/restauración de progreso [b] ar |
C | Mostrar/ocultar la marca de tiempo de los ontrols y los archivos medianos (todas las ventanas de medios) |
Ctrl-C | Mostrar/ocultar todos los controles en pantalla, marca de tiempo de archivos multimedia y metadatos multimedia (todas las ventanas de medios) |
D y DEL | [D] Elija el archivo de medios actual (después de la confirmación) |
Ctrl-D and Ctrl-DEL | [D] Elija todos los archivos en la carpeta del archivo de medios actual (después de la confirmación) |
E | [E] ars - sonido mudo/inmutado |
F | mostrar/cancelar [f] Modo UllScreen |
G | [G] Tamaño de la ventana del Reador |
Ctrl-G | Reducir, es decir, un [G] Reator, el tamaño de la ventana |
H | Coloque la ventana [H] orizontalmente (y verticalmente) en el centro de la pantalla |
I | Zoom [i] n por el 10% de la altura y el ancho del video |
J | AD [J] UST la relación de aspecto de la ventana para que coincida con la relación de aspecto del video |
K | Marque este archivo de medios como [k] EEP |
L | re [l] OAD la lista de archivos multimedia compatibles desde la carpeta actual |
M | [M] Aximizar / Restaurar ventana |
N | MI [N] IMIZA Ventana a la barra de tareas de Windows |
O | Zoom [o] ut por el 10% de la altura y el ancho del video |
P | Pausa el archivo multimedia y repúdelo con [P] otplayer, si está instalado |
Q | Reproducir el archivo mediático anterior en la lista de reproducción/Ueue/Ueue |
R | [R] Ename el archivo de medios actual |
S | Re [s] Tarte el archivo multimedia actual desde el principio, también conocido como [s] Tartover (todas las ventanas de medios) |
T | [T] AB a través del archivo de medios un 200º, 100 (predeterminado), 50, 20 o 10 de su duración (use Shift-Alt, Alt, Shift, Caps Bloque para modificar) (todas las ventanas de medios) |
Ctrl-T | [T] AB a través del archivo de medios un 100 ° (predeterminado), 50, 20 o 10 de su duración (use alt, shift, taps bloqueo para modificar) (todas las ventanas de medios) |
TAB | Tab Forings 1/200th la duración del archivo de medios (solo la ventana de medios seleccionada) |
Ctrl-TAB | TAB ALTAVERSA 1/22 La duración del archivo de medios (solo la ventana de medios seleccionada) |
U | [U] nzoom, es decir, vuelva a colocar el video en la ventana |
V | Maximizar / Restaurar [V] IEW, igual que [M] |
W | [W] Atch el siguiente video en la lista (o reproducir el siguiente audio) |
X | e [x] es la aplicación |
Y | tr [y] Out el archivo de medios probándolo en varias etapas |
Z | Juega el último archivo de medios en la lista de reproducción (A juega el primero) |
Up Arrow | aumentar el volumen en un 1% |
Down Arrow | disminuir el volumen en un 1% |
Ctrl-Up Arrow | aumentar la velocidad de reproducción en un 10% |
Ctrl-Down Arrow | disminuir la velocidad de reproducción en un 10% |
0 | Mostrar brevemente la leyenda de los medios (todas las ventanas de medios) |
1 | Restablecer la velocidad de reproducción a la normalidad, es decir, [1] 00% |
2 | cambiar el tamaño de la ventana para que se puedan colocar 2 instancias de la aplicación de lado a lado |
4 | cambiar el tamaño de una mini ventana en la esquina superior derecha de la pantalla |
Ctrl-4 | Muévase a la esquina superior derecha de la pantalla pero mantenga el tamaño actual de la ventana |
5 | Guardar/marcar la marca de tiempo del archivo de medios actual en un archivo INI |
6 | Recupere una marca de tiempo de archivo de medios guardada/marcada de un archivo INI y continúe la reproducción desde ese punto |
7 | Eliminar cualquier marca de tiempo de archivo de medios guardado previamente/marcado |
8 | Establezca el video en 1 píxel más grande que la ventana de los cuatro lados |
9 | cambiar el tamaño de la ventana al ancho del video |
RIGHT ARROW | dar un paso adelante un cuadro |
LEFT ARROW | Avanzar un cuadro hacia atrás |
| Zoom | |
Ctrl-RIGHT ARROW | Cuando se acerque/sale, mueva el video justo dentro de la ventana |
Ctrl-LEFT ARROW | Cuando se acerca/sale, mueva el video a la izquierda dentro de la ventana |
Ctrl-UP ARROW | Cuando se acerca/sale, mueva el video dentro de la ventana |
Ctrl-DOWN ARROW | Cuando se acerca/sale, mueva el video dentro de la ventana |
| Adicional | |
Left Click on the window background and hold | La ventana se puede arrastrar/reposicionarse sin una barra de título de subtítulos de la ventana |
Left double-click video | Pausa / reproducción de currículums |
Right single-click video | Pausa / reproducción de currículums |
SHIFT key (either) | Mostrar u ocultar la ventana de ayuda enumerando todas las funciones del teclado |
Ctrl-9 | Arrange automático hasta 12 instancias de Minimalist Media Player en una cuadrícula 4x3 (todas las ventanas de medios) |
Ctrl-0 | Cierre todas las instancias en ejecución del Minimalist Media Player (todas las ventanas de los medios) |
En lugar de simplemente tomar la palabra de Microsoft de que el Control ActiveX de Windows Media Player admite su lista publicada de formatos de archivos multimedia, he probado muchos formatos de archivo, y Minimalist Media Player admite explícitamente los siguientes formatos y extensiones de archivos:
.wmv .mp4 .avi .flv .mpg .mpeg .mkv .3gp .mov .m4v .vob .ts .webm .divx .m4a .mp3 .wav .aac .m2ts .flac .mts .rm .asf
Se pueden agregar fácilmente más formatos y extensiones de archivos cuando se confirman para funcionar. WMP tiene problemas para reproducir algunos archivos FLV que, extrañamente, desaparecen si cambia el nombre del archivo a otro formato, por ejemplo, MP4
Para que pueda abrir el proyecto y mostrar el formulario principal que contiene el componente activo de Windows Media Player ActiveX, desde el menú en Rad Studio / Delphi, primero deberá hacer "Componente de componente / importación ... / Importar control ActiveX", y seleccionar el reproductor de Windows Media desde la lista; RAD Studio generará esta unidad automáticamente e instalará el componente en la paleta ActiveX.
En lugar de seguir al rebaño, me gusta experimentar con diferentes formas de diseñar mi código y hacerlo más legible y más fácilmente entendido por aquellos que lo miran por primera vez, y para mí cuando vuelvo a él meses o incluso años después.
Utilizo un Delphi IDE con un editor de código de 180 caracteres. Me parece tonto que parecemos no hacer uso completo de nuestros monitores de alta resolución de la pantalla panorámica al editar el código (¡Delphi todavía envuelve automáticamente las firmas del procedimiento del controlador de eventos en la columna 56, independientemente de cómo haya definido los márgenes!), ¡Y todos parecen excesivos para exceder la columna 80, qué data de las sábanas de codificación y las cartas de codificación perforadas! : D Entonces, en primer lugar, hago uso completo de las 180 columnas de mi editor.
No me gustan las declaraciones anidadas si. Creo que son feos, difíciles de seguir y muy propensos al error humano al modificarlos/extenderlos. En consecuencia, no uso las declaraciones IF y siempre uso las declaraciones de casos. Los considero mucho más finos y más elegantes, significativamente más fáciles de seguir y enmendar, y muy superiores a sus equivalentes anidados de si. Sin duda, muchos no estarán de acuerdo.
Me gusta experimentar con diferentes formas de separar la definición de la interfaz de usuario de la lógica general del programa y cómo se deben manejar las variables de toda la aplicación. Para este proyecto, los tres todavía se encuentran en Main.pas, pero en un proyecto mucho más grande con múltiples unidades, la forma en que las separé podría adoptarse, colocándolos en unidades separadas. Mi única crítica a Delphi, que regresa a V1, es la forma en que (y todos los libros) alienta a todo el código a estar contenido dentro de los procedimientos de la unidad y los controladores de eventos. Nos ha llevado demasiado tiempo para finalmente separarnos de ese paradigma, en mi opinión. Mi opinión es que debe escribir para que se pueda crear una interfaz de usuario completamente nueva y luego simplemente conectarse a la lógica del programa de fondo.
A pesar de enamorarme de Delphi desde el momento en que desenboqué V1, detesto y detestado Begin ... termina con una pasión {Definitivamente tengo una envidia rizada}. Como tal, trato de encontrar formas de hacer que mi código se vea mucho más ordenado, lo que incluye no tener cada extremo en una línea separada, como verá: D
Todos los métodos que escribo (a diferencia de los procedimientos de controlador de eventos creados por IDE, etc.) se definen como funciones con un valor de retorno booleano predeterminado.
Presento todo esto simplemente como comida para pensar; No espero que la industria adopte repentinamente mis extrañas estrategias de codificación. Sin embargo, puede encontrar una pequeña inspiración para hacer las cosas de manera ligeramente diferente a cómo ha escrito tradicionalmente el código. Y si no, ¡como menos has sido advertido!
Minimalist Media Player ? Una buena pregunta, teniendo en cuenta cuántos otros reproductores de Windows Media de Windows hay, incluido mi favorito absoluto, Potplayer (¡VLC ha sido usurpado!). Este proyecto de mascotas surgió de un solo requisito: tenía 100 videoclips pequeños, en su mayoría divertidos, que había acumulado a lo largo de los años, descargados de las plataformas de redes sociales. Necesitaba una forma de revisar rápidamente toda mi colección de clips y decidir si conservar o eliminar cada clip. Esto estaba demostrando ser muy laborioso utilizando un reproductor multimedia estándar, ya que la mayoría de ellos no le dan la capacidad de eliminar el video que se reproduce. Tenía que reproducir el clip, cerrarlo, eliminarlo en Explorer, luego regresar al reproductor multimedia para continuar con el siguiente clip. Con Minimalist Media Player pude pasar por mi colección muy rápidamente, rompiendo cada video, decidiendo si mantenerlo o no, y luego pasar al siguiente clip. Al mirar a través del código y ver algunas de las operaciones posibles, tenga en cuenta que esta aplicación comenzó su vida permitiendo que una colección completa de videoclips se examine y se mantenga muy rápidamente, sin tener que dejar y reiniciar repetidamente la aplicación.
Si encuentra útil Minimalist Media Player y tiene sugerencias de mejoras, estoy dispuesto a considerar implementarlos yo mismo o mediante solicitudes de extracción. Sin embargo, estaría muy agradecido si siguiera mi etiqueta de codificación y tenga declaraciones de casos en lugar de si se declaren; Son realmente fáciles de adoptar cuando te acostumbras a usarlos exclusivamente sobre IFS.
En última instancia, me gustaría reemplazar el reproductor de Windows Media como el renderizador de video y hacer que Minimalist Media Player sea un front-end para MPlayer con sus capacidades superiores de manejo de video, o posiblemente Microsoft Media Foundation / Mfpack (agradecería algunos consejos sobre cuál sería el enfoque más actualizado). Por ejemplo, WMP realmente no hace marco hacia atrás correctamente (¡se remonta a 1 segundo, no 1 cuadro!), Y también tuve que comentar la facilidad de fregado de video (arrastrando el mouse a lo largo de la barra de progreso para escanear rápidamente a través de un video: ¡WMP se pone en un pickle correcto!). Si desea implementar MPLAYER o MMF/MFPACK (lo que proporcione la funcionalidad más rica en el futuro) para reemplazar WMP, ¡sea mi invitado!
Editar: ¡Actualmente estoy probando una reescritura completa de este proyecto basado en MPV! MinimalistMediaPlayerX se liberará en la naturaleza en cuestión de semanas. Manténganse al tanto.
Este es mi primer intento de lanzar un proyecto de código fuente como código abierto. Por favor, sea gentil: P Si esto va bien, tengo muchos más proyectos que puedo estar dispuesto a lanzar en la naturaleza.
Estoy eternamente agradecido con todos los muchos desarrolladores que me han inspirado a comenzar a lanzar mi código.