Ankündigung : Dieses Projekt wird jetzt vollständig von https://github.com/bazzacuda/minimalistMediaPlayerx/ ersetzt, die auf der berühmten MPV -API, libmpv, basiert. ( Version 3 ist ausgegeben !! ) Daher bietet es eine überlegene Kontrolle über Ihr Audio- und Video-Playback-Erlebnis (und Bilder!), Einschließlich richtiger Zoom, Pfanne, Rotation, Rahmen vorwärts und rückwärts (!), Untertitel, Helligkeit, Kontrast, Gamma und Sättigung, Screenshots und schnelle Bearbeitung sowie die überlegenen Unterstützung für die Medienformate der Welt.
Sofern ich keine spezifischen Änderungsanforderungen (Fehlerbehebungen) erhalte, dürfte die aktuelle Version dieser [hier] Version von Minimalist Media Player (basiert auf Microsofts viel begrenztem Windows Media Player ActiveX Control basiert) wahrscheinlich die letzte. Auf Wiedersehen, treuer Diener!
Ein einfacher, aber sehr effektiver Medienplayer, der sich um den Windows Media Player ActiveX -Steuerelement baut.
Minimalist Media Player bietet sowohl eine minimalistische/tastaturbetriebene Benutzeroberfläche (so dass auf dem Bildschirm die Steuerelemente nicht das Video beeinträchtigen) und die Steuerelemente, mit denen das Video in einem minimalistischen Fenster angezeigt wird, mit der Option, keine Grenzen zu haben, die Fenstertitelleiste/die Fortschrittsbalken, die Timestamp-Video-Timestampe und das Fenster mit dem Video, das sich auf das Video messen, um das Video zu entfernen. Dies bietet ein immersives Betrachtungserlebnis, selbst wenn sie im Fenstermodus und nicht im Vollbildmodus gespielt werden.
Obwohl es viele Kontrollpersonen gibt, an denen ich mich erinnern kann, habe ich versucht, jeden alphabetischen Buchstaben intuitiv zu verwenden. Die Aktionsbeschreibung sollte helfen, die Aktion mit dem Brief zu verbinden.
| Kontrolle | Aktion |
|---|---|
ALT-SPACEBAR | Aktivieren Sie das Systemmenü, um zum About Box zu gelangen |
ESCape | Beenden Sie den Vollbildmodus oder beenden Sie die App, wenn Sie im Fenstermodus sind |
SPACEBAR | Pause/Lebenslauf-Wiedergabe (auch linke Maus doppelklicken Sie auf das Video oder ein einzelner Klick für die rechte Maus) (alle Medienfenster, nur eine Leertaste) |
Ctrl-Up Arrow | Erhöhen Sie die Wiedergabe von 10% |
/ | Erhöhen Sie die Wiedergabe von 10% |
Ctrl-Down Arrow | Verringern Sie die Wiedergabetreue um 10% |
| Verringern Sie die Wiedergabetreue um 10% |
F12 | Öffnen Sie die Mediendatei in einem Video -Editor von Drittanbietern (derzeit Shotcut) |
= | Kopieren Sie den Namen des Mediendateins in die Zwischenablage |
A | Spielen Sie die erste Mediendatei in der Wiedergabeliste (Z spielt zuletzt) |
B | [B] Lackout/Wiederherstellung des Fortschritts [b] ar |
C | Ontrols und Mediendatei-Zeitstempel anzeigen/ausblenden (alle Medienfenster) |
Ctrl-C | Zeigen/ausblenden Sie alle auf dem Bildschirmsteuerung, Mediendatei-Zeitstempel und Medienmetadaten (alle Medienfenster) |
D und DEL | [D] ELETE Aktuelle Mediendatei (nach Bestätigung) |
Ctrl-D and Ctrl-DEL | [D] Elete alle Dateien im Ordner der aktuellen Mediendatei (nach Bestätigung) |
E | [E] ars - stumm/längerer Klang |
F | Show/Abbrechen [f] Ullscreen -Modus |
G | [G] Verfesselfenstergröße |
Ctrl-G | Reduzieren Sie die Fenstergröße, dh UN UN [G] -Pest, die Fenstergröße |
H | Positionieren Sie das Fenster [H] orizontal (und vertikal) in der Mitte des Bildschirms |
I | Zoom [i] n um 10% der Größe und Breite des Videos |
J | AD [j] das Seitenverhältnis des Fensters für das Seitenverhältnis des Videos entspricht |
K | Markieren Sie diese Mediendatei als [k] eep |
L | Betreff [l] die Liste der unterstützten Mediendateien aus dem aktuellen Ordner |
M | [M] Aximize / Wiederherstellenfenster |
N | Mi [n] Imize Fenster zur Windows -Taskleiste |
O | Zoom [o] UT um 10% der Größe und Breite des Videos |
P | Machen Sie die Mediendatei an und spielen Sie sie stattdessen mit [p] otPlayer ab, falls installiert |
Q | Spielen Sie die vorherige Mediendatei in der [q] Ueue/Playlist |
R | [R] Umkämpfe die aktuelle Mediendatei |
S | Betrug die aktuelle Mediendatei von Anfang an, auch bekannt als Tartover (alle Medienfenster) |
T | [T] AB über die Mediendatei A 200., 100. (Standard), 50., 20. oder 10. seiner Dauer (verwenden |
Ctrl-T | [T] AB Back durch die Mediendatei A 100. (Standard), 50., 20. oder 10. Dauer (verwenden Sie Alt, Schicht, Caps Lock, um zu ändern) (alle Medienfenster) |
TAB | Registerkarte Weiterleitung 1/2. Die Dauer der Mediendatei (nur das ausgewählte Medienfenster) |
Ctrl-TAB | Registerkarte rückwärts 1/2 Die Dauer der Mediendatei (nur das ausgewählte Medienfenster) |
U | [U] nzoom, dh das Video auf das Fenster einfügen |
V | Maximieren / wiederherstellen [v] IEW, wie [m] |
W | [W] Atch das nächste Video in der Liste (oder das nächste Audio abspielen) |
X | E [x] es die Anwendung |
Y | TR [y] die Mediendatei aus, indem sie sie in verschiedenen Phasen ausprobieren |
Z | Spielen Sie die letzte Mediendatei in der Wiedergabeliste (a spielt die erste) |
Up Arrow | Erhöhen Sie das Volumen um 1% |
Down Arrow | Verringern Sie das Volumen um 1% |
Ctrl-Up Arrow | Erhöhen Sie die Wiedergabegeschwindigkeit um 10% |
Ctrl-Down Arrow | Verringern Sie die Wiedergabegeschwindigkeit um 10% |
0 | Zeigen Sie kurz Medienunterschriften (alle Medienfenster) |
1 | Setzen Sie die Wiedergabegeschwindigkeit auf Normal zurück, dh [1] 00% |
2 | Die Größe des Fensters ändern, damit 2 Instanzen der Anwendung nebeneinander platziert werden können |
4 | Größen Sie die Größe zu einem Mini-Window in der oberen rechten Ecke des Bildschirms |
Ctrl-4 | Bewegen |
5 | Speichern/Lesezeichen für den aktuellen Mediendatei -Zeitstempel in einer INI -Datei |
6 | Rufen Sie einen gespeicherten/mit einem Lesezeichen versehenen Mediendatei -Zeitstempel aus einer INI -Datei ab und setzen Sie die Wiedergabe von diesem Punkt an. |
7 | Löschen Sie alle zuvor gespeicherten/mit einem Lesezeichen versehenen Mediendatei -Zeitstempel |
8 | Stellen Sie das Video auf 1 Pixel größer als das Fenster auf allen vier Seiten |
9 | Gröze die Größe des Fensters zur Breite des Videos |
RIGHT ARROW | einen Rahmen vorwärts treten |
LEFT ARROW | einen Rahmen rückwärts treten |
| Zoom | |
Ctrl-RIGHT ARROW | Wenn Sie das Ein-/Ausgang ein-/aus dem Fenster vergrößern |
Ctrl-LEFT ARROW | Wenn Sie das Ein-/Ausgang ein-/aus dem Fenster vergrößern |
Ctrl-UP ARROW | Wenn Sie das Ein-/Ausgang ein-/aus dem Fenster vergrößern |
Ctrl-DOWN ARROW | Wenn Sie das Ein-/Ausgang ein-/aus dem Fenster vergrößern |
| Zusätzlich | |
Left Click on the window background and hold | Das Fenster kann ohne Fensterbeschreibungstitelleiste gezogen/neu positioniert werden |
Left double-click video | Pause / Wiederaufnahme der Wiedergabe |
Right single-click video | Pause / Wiederaufnahme der Wiedergabe |
SHIFT key (either) | Zeigen oder ausblenden Sie das Hilffenster, in dem alle Tastaturfunktionen aufgeführt sind |
Ctrl-9 | Auto-Arrange bis zu 12 Fälle von Minimalist Media Player in einem 4x3-Raster (alle Medienfenster) |
Ctrl-0 | Schließen Sie alle laufenden Instanzen von Minimalist Media Player (alle Medienfenster) |
Anstatt einfach das Wort von Microsoft zu nehmen, dass das Windows Media Player ActiveX -Steuerelement ihre veröffentlichte Liste der Mediendateiformate unterstützt, habe ich viele Dateiformate getestet und Minimalist Media Player unterstützt explizit die folgenden Formate und Dateierweiterungen:
.wmv .mp4 .avi .flv .mpg .mpeg .mkv .3gp .mov .m4v .vob .ts .webm .divx .m4a .mp3 .wav .aac .m2ts .flac .mts .rm .asf
Weitere Formate und Dateierweiterungen können leicht hinzugefügt werden, wenn sie für die Arbeit bestätigt werden. WMP hat Probleme beim Spielen einiger FLV -Dateien, die bizarr verschwinden, wenn Sie die Datei in ein anderes Format umbenennen, z. B. MP4
Damit Sie das Projekt öffnen und das Hauptformular mit der Windows Media Player ActiveX -Komponente anzeigen können, müssen Sie zunächst "Komponente / Komponente importieren ... / ActiveX -Steuerung importieren" und wählen Sie den Windows Media -Player aus der Liste aus. RAD Studio erzeugt diese Einheit dann automatisch und installiert die Komponente an der ActiveX -Palette.
Anstatt der Herde zu folgen, experimentiere ich gerne mit unterschiedlichen Möglichkeiten, meinen Code zu layout und ihn lesbarer und leichter zu verstehen, wenn diejenigen, die ihn zum ersten Mal betrachten, und für mich selbst, wenn ich Monate oder sogar Jahre später wieder zu ihm zurückkehre.
Ich verwende eine Delphi-IDE mit einem 180-charakteristischen Code-Editor. Es fällt mir als dumm an, dass wir unsere hochauflösenden Breitbildmonitore bei der Bearbeitung von Code nicht voll ausnutzen (Delphi wickelt immer noch automatisch Ereignishandler-Verfahren in Spalte 56, unabhängig davon, wie ich die Margen definiert habe!), Und wir scheinen uns alle zu übertreffen, um Kolumne 80 zu überschreiten, die für Dran-Coding-Karten und Punched-Karten ausgehen. : D Also nutze ich allerdings alle 180 Spalten meines Herausgebers voll und ganz.
Ich mag keine verschachtelten wenn Aussagen. Ich denke, sie sind hässlich, schwer zu folgen und sehr anfällig für menschliche Fehler, wenn sie sie ändern/erweitern. Infolgedessen verwende ich überhaupt nicht, ob Anweisungen und stattdessen immer Anwendungsstörungen verwendet werden. Ich betrachte sie für viel ordentlicher und eleganter aussehender, wesentlich leichter zu befolgen und zu ändern und ihren verschachtelten Äquivalenten weit überlegen. Ich habe keinen Zweifel, dass viele nicht zustimmen werden.
Ich experimentiere gerne mit unterschiedlichen Möglichkeiten, die Definition der Benutzeroberfläche von der allgemeinen Programmlogik zu trennen und wie anwendungsweite Variablen behandelt werden sollten. Für dieses Projekt befinden sich alle drei noch in Main.pas, aber bei einem viel größeren Projekt mit mehreren Einheiten könnte die Art und Weise, wie ich sie getrennt habe, übernommen werden, um sie alle in getrennten Einheiten zu platzieren. Meine einzige Kritik an Delphi, die bis zur V1 zurückgeht, ist die Art und Weise, wie es (und all die vielen Bücher) alle Code in den Einheiten und Ereignishandlerverfahren des Formulars enthalten. Es hat uns zu lange gebraucht, um mich meiner Meinung nach endlich von diesem Paradigma zu lösen. Ich bin der Ansicht, dass Sie schreiben sollten, damit eine völlig neue Benutzeroberfläche erstellt und dann nur an die Back-End-Programmlogik angeschlossen wird.
Obwohl ich mich in Delphi verliebt habe, seit ich V1 entbloßte, verabscheue ich und verabscheue ... ende mit einer Leidenschaft {Ich habe definitiv einen lockigen Bace Envy}. Als solches versuche ich, Wege zu finden, damit mein Code viel ordentlicher aussieht. Dazu gehört, dass nicht jedes Ende in einer separaten Zeile zu sehen ist, wie Sie sehen werden: D.
Alle Methoden, die ich schreibe (im Gegensatz zu IDE-erstellten Ereignis-Handler-Verfahren usw.) werden als Funktionen mit einem Standard-Booleschen Rückgabewert definiert.
Ich präsentiere all dies nur als Denkfutter; Ich erwarte nicht, dass die Branche plötzlich meine bizarren Codierungsstrategien anwenden wird. Möglicherweise finden Sie jedoch wenig Inspiration, um Dinge etwas anders zu machen, um wie Sie traditionell Code geschrieben haben. Und wenn nicht, als am wenigsten Sie gewürdigt wurden!
Minimalist Media Player geschrieben? Eine gute Frage, wenn man bedenkt, wie viele andere vollkommen gute Windows -Mediplayer es gibt, einschließlich meines absoluten Favoriten Potplayer (VLC wurde usurpiert!). Dieses Haustierprojekt entstand aus einer einzigen Anforderung: Ich hatte 100er kleiner, meist lustiger Videoclips, die ich im Laufe der Jahre gesammelt hatte, die von Social -Media -Plattformen heruntergeladen wurden. Ich brauchte einen Weg, um schnell meine gesamte Sammlung von Clips zu durchlaufen und zu entscheiden, ob ich jeden Clip aufbewahren oder löschen sollte. Dies erweist sich als sehr mühsam, wenn Sie einen Standard -Medienspieler haben, da die meisten von ihnen nicht die Möglichkeit haben, das gespielte Video zu löschen. Ich musste den Clip spielen, ihn schließen, ihn in Explorer löschen und dann zum Media Player zurückkehren, um mit dem nächsten Clip fortzufahren. Mit Minimalist Media Player konnte ich sehr schnell meine Sammlung durchgehen, jedes Video durchfuhren und mich entschieden, ob sie sie behalten oder nicht, und dann zum nächsten Clip übergehen. Wenn Sie den Code durchsehen und einige der Möglichkeiten sehen, die möglich sind, können Sie bedenken, dass diese Anwendung das Leben begann, damit eine gesamte Sammlung von Videoclips sehr schnell untersucht und aufbewahrt oder gelöscht werden kann, ohne die App wiederholt verlassen und neu starten zu müssen.
Wenn Sie Minimalist Media Player nützlich finden und Verbesserungsvorschläge haben, bin ich bereit, sie selbst oder über Pull -Anfragen zu implementieren. Ich wäre sehr dankbar, wenn Sie meiner Codierungsetikette jedoch folgen und Fallanweisungen haben würden, anstatt wenn Anweisungen; Sie sind wirklich einfach zu übernehmen, wenn Sie sich daran gewöhnen, sie ausschließlich über IFS zu verwenden.
Letztendlich möchte ich Windows Media Player als Video-Renderer ersetzen und Minimalist Media Player zu einem Front-End für Mplayer mit seinen überlegenen Video-Handling-Funktionen oder möglicherweise der Microsoft Media Foundation / MFPack machen (ich würde einen Rat freuen, der der aktuellste Ansatz wäre). Zum Beispiel macht WMP den Rahmen wirklich nicht ordnungsgemäß zurück (es geht um 1 Sekunde zurück, nicht 1 Frame!), Und ich musste auch die Video -Peeling -Einrichtung aus kommentieren (die Maus entlang der Fortschrittsleiste ziehen, um schnell ein Video zu durchsuchen - WMP erhält eine rechte Gurke!). Wenn Sie MPlayer oder MMF/MFPack (je nachdem, was auch immer die reichste Funktionalität in Zukunft bieten würde), um WMP zu ersetzen, seien Sie bitte mein Gast!
Bearbeiten: Ich bin derzeit Beta-testet eine vollständige Umschreiben dieses Projekts basierend auf MPV! MinimalistMediaPlayerX wird in wenigen Wochen in die Wildnis entlassen. Bleiben Sie dran.
Dies ist mein erster Versuch, ein Quellcodeprojekt als Open Source zu veröffentlichen. Bitte seien Sie sanft: P Wenn dies gut läuft, habe ich noch viele weitere Projekte, die ich möglicherweise bereit bin, in die Wildnis zu veröffentlichen.
Ich bin all den vielen Entwicklern, die mich dazu inspiriert haben, meinen Code zu veröffentlichen, auf ewig dankbar.