Annonce : Ce projet est désormais entièrement remplacé par https://github.com/bazzacuda/minimalistmediaplayerx/ qui est construit sur la célèbre API MPV, libmpv. ( La version 3 est sortie !! ) En tant que tel, il fournit un contrôle supérieur sur votre expérience audio et vidéo (et des images!), Y compris le zoom, la casserole, la rotation, la rotation, le cadre en avant et en arrière (!), Les sous-titres, la luminosité, le contraste, le gamma et la saturation, les cours d'écran et la modification rapide, ainsi que le soutien supérieur aux formats médiatiques du monde.
À moins que j'obtienne des demandes spécifiques d'amendements (corrections de bogues), la version actuelle de cette version [ici] de Minimalist Media Player (construite sur le contrôle de lecteur multimédia Windows Windows de Microsoft) est probablement le dernier. Au revoir, fidèle serviteur!
Un lecteur multimédia simple mais très efficace construit autour du contrôle ACTIVEX du lecteur multimédia Windows.
Minimalist Media Player fournit à la fois une interface utilisateur minimaliste / par le clavier (afin que les commandes à l'écran ne nuisent pas à la vidéo) et les commandes avec lesquelles voir la vidéo dans une fenêtre minimaliste avec la possibilité de ne pas avoir de frontières, le titre de fenêtre Bar / Repection, la barre de progrès, la vidéo Timestamp, etc., et avec la fenêtre résolue pour s'adapter à la vidéo parfaitement, éliminant parfaitement les borders / bandes noirs ug. Cela offre une expérience de visualisation immersive même lorsqu'elle est jouée en mode fenêtre plutôt qu'en plein écran.
Bien qu'il y ait beaucoup de contrôles à retenir, j'ai essayé d'utiliser intuitivement chaque lettre alphabétique. La description de l'action devrait aider à associer l'action à la lettre.
| Contrôle | Action |
|---|---|
ALT-SPACEBAR | Activez le menu système pour accéder à la boîte à propos |
ESCape | Sortez en mode plein écran ou quittez l'application en mode fenêtre |
SPACEBAR | Paute / curriculum vitae de la lecture (également à double clic de souris sur la vidéo, ou un seul clic de souris droite) (toutes les fenêtres multimédias, barre d'espace uniquement) |
Ctrl-Up Arrow | Augmenter la vitesse de lecture 10% |
/ | Augmenter la vitesse de lecture 10% |
Ctrl-Down Arrow | diminuer la vitesse de lecture 10% |
| diminuer la vitesse de lecture 10% |
F12 | Open Media Fichier dans l'éditeur vidéo tiers (actuellement ShotCut) |
= | Copier le nom du fichier multimédia dans le presse-papiers |
A | Lisez le premier fichier multimédia dans la playlist (Z Plays Last) |
B | [B] manque / rétablissement progress [b] ar |
C | Afficher / masquer à l'écran [C] ONTROLS et Timestamp de fichiers multimédias (toutes les fenêtres multimédias) |
Ctrl-C | Afficher / masquer tous les contrôles à l'écran, l'horodatage du fichier multimédia et les métadonnées multimédias (toutes les fenêtres multimédias) |
D et DEL | [D] ELETE Fichier multimédia actuel (après confirmation) |
Ctrl-D and Ctrl-DEL | [D] éliminer tous les fichiers dans le dossier du fichier multimédia actuel (après confirmation) |
E | [E] ars - son muet / peu corporel |
F | Afficher / annuler le mode UllScreen |
G | [G] Recat la taille de la fenêtre |
Ctrl-G | Réduire, c'est-à-dire un réintégration, la taille de la fenêtre |
H | Positionnez la fenêtre [h] orizontalement (et verticalement) au centre de l'écran |
I | zoom [i] n par 10% de la hauteur et de la largeur de la vidéo |
J | AD [J] ust le rapport d'aspect de la fenêtre pour correspondre au rapport d'aspect de la vidéo |
K | Marquez ce fichier multimédia comme [k] eep |
L | re [l] oad la liste des fichiers multimédias pris en charge à partir du dossier actuel |
M | [M] Aximiser / restaurer la fenêtre |
N | mi [n] imisez la fenêtre sur la barre des tâches Windows |
O | zoom [o] ut par 10% de la hauteur et de la largeur de la vidéo |
P | Pause le fichier multimédia et jouez-le à la place avec [p] otplayer, si je suis installé |
Q | Lisez le fichier multimédia précédent dans la [Q] Ueue / Playlist |
R | [R] ename le fichier multimédia actuel |
S | re [s] tart le fichier multimédia actuel depuis le début, aka [s] tartover (toutes les fenêtres multimédias) |
T | [T] AB via le fichier multimédia un 200e, 100e (par défaut), 50e, 20e ou 10e de sa durée (utilisez Shift-Alt, Alt, Shift, Caps Lock pour modifier) (toutes les fenêtres multimédias) |
Ctrl-T | [T] AB Retour via le fichier multimédia A 100e (par défaut), 50e, 20e ou 10e de sa durée (utilisez Alt, Shift, Caps Lock pour modifier) (toutes les fenêtres de médias) |
TAB | Onglet Forward 1 / 200th La durée du fichier multimédia (seule la fenêtre de média sélectionné) |
Ctrl-TAB | onglet en arrière 1/200e la durée du fichier multimédia (seule la fenêtre de média sélectionné) |
U | [U] nzoom, c'est-à-dire refaire la vidéo à la fenêtre |
V | maximiser / restaurer [v] iew, comme [m] |
W | [W] atch la prochaine vidéo de la liste (ou lire le prochain audio) |
X | e [x] il l'application |
Y | tr [y] le fichier multimédia en l'échantillonnant à différentes étapes |
Z | Lisez le dernier fichier multimédia dans la playlist (A joue le premier) |
Up Arrow | augmenter le volume de 1% |
Down Arrow | diminuer le volume de 1% |
Ctrl-Up Arrow | augmenter la vitesse de lecture de 10% |
Ctrl-Down Arrow | réduire la vitesse de lecture de 10% |
0 | Affichez brièvement la légende des médias (toutes les fenêtres des médias) |
1 | Réinitialisez la vitesse de lecture à la normale, c'est-à-dire [1] 00% |
2 | redimensionner la fenêtre afin que 2 instances de l'application puissent être placées côte à côte |
4 | redimensionner à une mini-fenêtre dans le coin supérieur droit de l'écran |
Ctrl-4 | Déplacez-vous vers le coin supérieur droit de l'écran mais maintenez la taille de la fenêtre actuelle |
5 | Enregistrer / mettre en signet l'horodatage actuel du fichier multimédia dans un fichier INI |
6 | Récupérez l'horodatage du fichier multimédia enregistré / mis en signet à partir d'un fichier INI et continuez à la lecture à partir de ce point |
7 | Supprimer tout horodatage du fichier multimédia enregistré précédemment enregistré / marqué |
8 | Réglez la vidéo sur 1 pixel plus grand que la fenêtre sur les quatre côtés |
9 | redimensionner la fenêtre sur la largeur de la vidéo |
RIGHT ARROW | Passez en avant un cadre |
LEFT ARROW | reculez un cadre |
| Zoom | |
Ctrl-RIGHT ARROW | Lors du zoom dans / out, déplacez la vidéo directement à l'intérieur de la fenêtre |
Ctrl-LEFT ARROW | Lors du zoom dans / out, déplacez la vidéo à gauche à l'intérieur de la fenêtre |
Ctrl-UP ARROW | Lors du zoom dans / out, déplacez la vidéo vers le haut à l'intérieur de la fenêtre |
Ctrl-DOWN ARROW | Lors du zoom dans / out, déplacez la vidéo vers le bas à l'intérieur de la fenêtre |
| Supplémentaire | |
Left Click on the window background and hold | La fenêtre peut être traînée / repositionnée sans une barre de titre de lésion de la fenêtre |
Left double-click video | Pause / curriculum vitae |
Right single-click video | Pause / curriculum vitae |
SHIFT key (either) | Afficher ou masquer la fenêtre d'aide répertoriant toutes les fonctions du clavier |
Ctrl-9 | Arrange automatiquement jusqu'à 12 instances de Minimalist Media Player dans une grille 4x3 (toutes les fenêtres multimédias) |
Ctrl-0 | Fermez toutes les instances en cours d'exécution de Minimalist Media Player (toutes les fenêtres des médias) |
Plutôt que de simplement prendre le mot de Microsoft selon lequel le Contrôle de Windows Media Player ActiveX prend en charge sa liste publiée de formats de fichiers multimédias, j'ai testé de nombreux formats de fichiers et Minimalist Media Player prend explicitement en charge les formats et extensions de fichiers suivants:
.wmv .mp4 .avi .flv .mpg .mpeg .mkv .3gp .mov .m4v .vob .ts .webm .divx .m4a .mp3 .wav .aac .m2ts .flac .mts .rm .asf
Plus de formats et d'extensions de fichiers peuvent être facilement ajoutés lorsqu'ils sont confirmés pour fonctionner. WMP a des problèmes à lire des fichiers FLV qui, bizarrement, partez si vous renomment le fichier dans un autre format, par exemple MP4
Pour que vous puissiez ouvrir le projet et afficher le formulaire principal contenant le composant Activex Player Windows Media, à partir du menu de RAD Studio / Delphi, vous devrez d'abord faire "Composant / Importer Composant ... / Importer ActiveX Control", et sélectionnez le lecteur Windows Media dans la liste; RAD Studio générera ensuite cette unité automatiquement et installera le composant sur la palette ActiveX.
Plutôt que de suivre le troupeau, j'aime expérimenter différentes façons de disposer mon code et de le rendre plus lisible et plus facilement compris par ceux qui le regardent pour la première fois, et pour moi-même en y retournant des mois ou même des années plus tard.
J'utilise un Delphi IDE avec un éditeur de code de 180 caractères. Il me semble daft que nous semblons ne pas utiliser pleinement nos moniteurs grand écran haute résolution lors de la modification du code (Delphi enveloppe toujours automatiquement les signatures de procédure du gestionnaire d'événements à la colonne 56, quelle que soit la façon dont j'ai défini les marges!), Et nous semblons tous détester les cartes de la colonne 80, les dates de la borde pour la borde et les cartes de poinçonnage !! : D Donc, tout d'abord, j'utilise pleinement les 180 colonnes de mon éditeur.
Je n'aime pas les déclarations imbriquées. Je pense qu'ils sont laids, difficiles à suivre et très sujets à l'erreur humaine lors de leur modification / étendant. Par conséquent, je n'utilise pas du tout des instructions et utilise toujours des instructions de cas à la place. Je les considère comme beaucoup plus prudents et plus élégants, beaucoup plus faciles à suivre et à modifier, et tout à fait loin supérieurs à leurs équivalents imbriqués. Je n'ai aucun doute que beaucoup seront en désaccord.
J'aime expérimenter différentes façons de séparer la définition de l'interface utilisateur de la logique du programme général et comment les variables à l'échelle de l'application doivent être gérées. Pour ce projet, tous les trois sont toujours situés dans Main.pas, mais sur un projet beaucoup plus grand avec plusieurs unités, la façon dont je les ai séparées pourrait être adoptée, les plaçant toutes dans des unités distinctes. Ma seule critique de Delphi, revenant jusqu'à V1, est la façon dont elle (et tous les nombreux livres) encourage tous les code à être contenus dans les procédures de l'unité et du gestionnaire d'événements du formulaire. À mon avis, il nous a fallu trop longtemps pour nous éloigner de ce paradigme. Mon point de vue est que vous devez écrire afin qu'une interface utilisateur entièrement nouvelle puisse être créée, puis connectée à la logique du programme back-end.
Malgré la tombée amoureuse de Delphi depuis le moment où j'ai déballé V1, je déteste et que je déteste commencer ... me terminer par une passion {J'ai définitivement une envie de gracese}. En tant que tel, j'essaie de trouver des moyens de rendre mon code beaucoup plus net, ce qui inclut de ne pas avoir à chaque extrémité sur une ligne séparée, comme vous le verrez: D
Toutes les méthodes que j'écris (par opposition aux procédures de gestionnaire d'événements créées par IDE, etc.) sont définies comme des fonctions avec une valeur de retour booléenne par défaut.
Je présente tout cela simplement comme de la pensée; Je ne m'attends pas à ce que l'industrie adopte soudainement mes stratégies de codage bizarres. Cependant, vous pouvez trouver une petite inspiration pour faire les choses légèrement différemment, à la façon dont vous avez traditionnellement écrit du code. Et sinon, vous avez le moins été prévenu!
Minimalist Media Player ? Une bonne question, compte tenu du nombre d'autres joueurs de Windows Media parfaitement bons, y compris mon préféré absolu, Potplayer (VLC a été usurpé!). Ce projet pour animaux de compagnie est né d'une seule exigence: j'avais 100s de petits clips vidéo, principalement drôles, que j'avais accumulés au fil des ans, téléchargés à partir de plateformes de médias sociaux. J'avais besoin d'un moyen de parcourir rapidement ma collection de clips et de décider de conserver ou de supprimer chaque clip. Cela s'avérait très laborieux en utilisant un lecteur multimédia standard car la plupart d'entre eux ne vous donnent pas la possibilité de supprimer la vidéo en cours de lecture. Je devais lire le clip, le fermer, le supprimer dans Explorer, puis revenir au lecteur multimédia pour continuer avec le clip suivant. Avec Minimalist Media Player j'ai pu passer par ma collection très rapidement, parcourir chaque vidéo, en décidant de le garder ou non, puis de passer au clip suivant. Lorsque vous regardez le code et voyant certaines des opérations qui sont possibles, veuillez garder à l'esprit que cette application a commencé la vie permettant à une collection entière de clips vidéo d'être très rapidement examinés et gardés ou supprimés, sans avoir à quitter et redémarrer à plusieurs reprises l'application.
Si vous trouvez Minimalist Media Player utile et que vous avez des suggestions d'améliorations, je suis prêt à envisager de les mettre en œuvre moi-même ou via des demandes de traction. Je serais très reconnaissant si vous suiviez mon étiquette de codage et que vous ayez des instructions de cas plutôt que si les déclarations; Ils sont vraiment faciles à adopter lorsque vous vous habituez à les utiliser exclusivement sur IFS.
En fin de compte, je voudrais remplacer Windows Media Player en tant que rendu vidéo et faire Minimalist Media Player un front-end pour MPlayer par ses capacités de gestion vidéo supérieures, ou peut-être Microsoft Media Foundation / MFPACK (j'apprécierais quelques conseils sur lesquels serait l'approche la plus à jour). Par exemple, WMP ne cadre vraiment pas correctement vers l'arrière (il remonte à 1 seconde pas 1 cadre!), Et j'ai également dû commenter l'installation vidéo de nettoyage (traînant la souris le long de la barre de progression pour scanner rapidement une vidéo - WMP se fait dans un cornichon droit!). Si vous souhaitez implémenter MPlayer ou MMF / MFPACK (selon ce qui fournirait la fonctionnalité la plus riche à l'avenir) pour remplacer WMP, soyez mon invité !!
Edit: Je suis actuellement en bêta d'une réécriture complète de ce projet basé sur MPV! MinimalistMediaPlayerX sera libéré dans la nature en quelques semaines. Restez à l'écoute.
Ceci est ma toute première tentative de publication d'un projet de code source en tant qu'open source. Soyez doux: P Si cela se passe bien, j'ai beaucoup plus de projets que je pourrais être disposés à libérer dans la nature.
Je suis éternellement reconnaissant à tous les nombreux développeurs qui m'ont inspiré pour commencer à publier mon code.