公告:該項目現在完全由https://github.com/bazzacuda/minimalistmediaplayerx/構建為著名的MPV API LibMPV。 (版本3已發布!! )因此,它為您的音頻和視頻播放體驗(以及圖像!)提供了較高的控制權,包括適當的Zoom,Pan,Rotation,Rotation,Forther和向後和向後(!),字幕,亮度,亮度,對比度,伽瑪和飽和度,伽馬和飽和度,篩选和快速編輯,以及為世界媒體格式提供優異的支持。
除非我得到任何特定的修改請求(錯誤修復),否則最簡約媒體播放器的當前版本(基於Microsoft更有限的Windows Media Player activeX Controth)可能是最後一個。再見,忠實的僕人!
一個簡單但非常有效的媒體播放器圍繞Windows Media Player ActiveX Control構建。
Minimalist Media Player provides both a minimalist/keyboard-operated user interface (so that on-screen controls don't detract from the video) and the controls with which to view the video in a minimalist window with the option to have no borders, window title bar/caption, progress bar, video timestamp, etc, and with the window resized to fit the video perfectly, eliminating ugly black borders/bands around the video, particularly above and below.即使在窗口模式下播放而不是全屏,這也提供了沉浸式的觀看體驗。
儘管有很多控制要記住,但我試圖直觀地使用每個字母字母。動作描述應有助於將動作與信件聯繫起來。
| 控制 | 行動 |
|---|---|
ALT-SPACEBAR | 激活系統菜單以獲取有關框 |
ESCape | 退出全屏模式,或在窗口模式下退出應用 |
SPACEBAR | 暫停/簡歷播放(還剩下鼠標雙擊視頻,或右鼠標單擊)(僅所有媒體窗口,僅空格鍵) |
Ctrl-Up Arrow | 提高播放速度10% |
/ | 提高播放速度10% |
Ctrl-Down Arrow | 降低播放速度10% |
| 降低播放速度10% |
F12 | 在第三方視頻編輯器中打開媒體文件(目前shotcut) |
= | 將媒體文件名複製到剪貼板 |
A | 在播放列表中播放第一個媒體文件(Z播放最後) |
B | [b]缺乏/恢復進度[b] ar |
C | 在屏幕上顯示/隱藏[c] ontrols和媒體文件時間戳(所有媒體窗口) |
Ctrl-C | 顯示/隱藏所有屏幕上的控件,媒體文件時間戳和媒體元數據(所有媒體窗口) |
D和DEL | [D] Elete當前媒體文件(確認後) |
Ctrl-D and Ctrl-DEL | [D]當前媒體文件文件夾中的所有文件(確認後) |
E | [E] ARS-靜音/取消靜音聲音 |
F | 顯示/取消[f] ullscreen模式 |
G | [g]窗戶尺寸 |
Ctrl-G | 減少,即un [g] reater,窗戶大小 |
H | 將窗口[h]放置在屏幕中心的窗口[h] |
I | Zoom [I] n比視頻高度和寬度的10% |
J | ad [j] Ust窗口的縱橫比與視頻的縱橫比匹配 |
K | 將此媒體文件標記為[k] EEP |
L | re [l]從當前文件夾中刪除支持的媒體文件列表 |
M | [m]軸突 /還原窗口 |
N | Mi [n]模仿Windows Taskbar的窗口 |
O | Zoom [O] UT佔視頻高度和寬度的10% |
P | 如果安裝 |
Q | 在[q] ueue/playlist中播放以前的媒體文件 |
R | [r]啟用當前媒體文件 |
S | re [s]從一開始就Tart Tart tart the當前媒體文件,又稱t t(所有媒體窗口) |
T | [t]通過媒體文件AB第200,第100(默認值),其持續時間的第50、20或第10位(使用Shift-Alt,Alt,Shift,Shift,Caps Lock進行修改)(所有媒體窗口) |
Ctrl-T | [T] AB通過媒體文件回到其持續時間的第100個(默認值),第50、20或第10位(使用Alt,Shift,Caps Lock進行修改)(所有媒體窗口) |
TAB | TAB將媒體文件的持續時間轉發1/200(僅選定的媒體窗口) |
Ctrl-TAB | 向後1/200媒體文件的持續時間(僅選定的媒體窗口) |
U | [u] nzoom,即將視頻重新貼在窗口中 |
V | 最大化 /還原[v] iew,與[M]相同 |
W | [w] ATCH列表中的下一個視頻(或播放下一個音頻) |
X | e [x]它是應用程序 |
Y | 通過在各個階段對媒體文件進行採樣,將媒體文件刪除 |
Z | 在播放列表中播放最後一個媒體文件(第一個播放) |
Up Arrow | 將體積增加1% |
Down Arrow | 將音量減少1% |
Ctrl-Up Arrow | 將播放速度提高10% |
Ctrl-Down Arrow | 將播放速度降低10% |
0 | 簡要顯示媒體字幕(所有媒體窗口) |
1 | 將播放速度重置為正常,即[1] 00% |
2 | 調整窗口大小,以便可以並排放置2個實例 |
4 | 調整屏幕右上角的迷你窗口大小 |
Ctrl-4 | 移至屏幕的右上角,但保持當前窗口尺寸 |
5 | 將當前媒體文件時間戳保存/書籤到INI文件 |
6 | 從INI文件中檢索保存/書籤的媒體文件時間戳,並從那時繼續播放 |
7 | 刪除任何先前保存/書籤的媒體文件時間戳 |
8 | 將視頻設置為比所有四個側面窗口大的1像素 |
9 | 調整窗口的大小到達視頻的寬度 |
RIGHT ARROW | 前進一幀 |
LEFT ARROW | 向後退一步 |
| 飛漲 | |
Ctrl-RIGHT ARROW | 當放大/輸出時,將視頻移到窗口內 |
Ctrl-LEFT ARROW | 當放大/輸出時,將視頻向左移動到窗口內 |
Ctrl-UP ARROW | 當放大/輸出時,將視頻移到窗口內 |
Ctrl-DOWN ARROW | 當放大/輸出時,將視頻向下移動到窗口內 |
| 額外的 | |
Left Click on the window background and hold | 可以在沒有窗口標題標題欄的情況下拖動/重新定位窗口 |
Left double-click video | 暫停 /簡歷播放 |
Right single-click video | 暫停 /簡歷播放 |
SHIFT key (either) | 顯示或隱藏列出所有鍵盤功能的幫助窗口 |
Ctrl-9 | 在4x3網格(所有媒體窗口)中,最多12個Minimalist Media Player的自動陣容最多可容納12個實例 |
Ctrl-0 | 關閉Minimalist Media Player (所有媒體窗口)的所有運行實例 |
我沒有簡單地接受Microsoft的單詞,即Windows Media Player ActiveX Control支持其已發布的媒體文件格式列表,而是測試了許多文件格式,而Minimalist Media Player明確支持以下格式和文件擴展:
.wmv
當確認工作時,可以輕鬆添加更多格式和文件擴展名。 WMP在播放一些FLV文件時遇到問題,如果將文件重命名為另一種格式,例如MP4
為了使您能夠打開項目並顯示包含Windows Media Player ActiveX組件的主表單,從Rad Studio / Delphi的菜單中,您首先需要執行“組件 /導入組件... /導入ActiveX Control”,然後從列表中選擇Windows Media Player;然後,Rad Studio將自動生成此單元,並將組件安裝到ActiveX調色板上。
我不想嘗試不同的方法來佈局我的代碼,並讓它更容易閱讀,並更容易被那些第一次看待它的人理解,並且在幾個月後甚至幾年後返回它時。
我將Delphi IDE與180個字符範圍的代碼編輯器一起使用。這使我感到震驚,我們似乎在編輯代碼時似乎並不能夠充分利用高分辨率的寬屏監視器(Delphi仍然在第56列上自動包裝事件處理程序簽名,而不管我如何定義了邊距!),而且我們似乎都會超過80列,以超過80列,這是回到Fortran Coders和Punchered sepred sears和Punchered searsed searts and Punched searts and Punched searts ! ! ! :D因此,首先,我充分利用編輯器的所有180列。
我不喜歡嵌套如果語句。我認為它們在修改/擴展時很醜陋,難以遵循,並且很容易出現人為錯誤。因此,我根本不使用IF語句,而是始終使用案例語句。我認為它們更加整潔,更優雅,遵循和修改要容易得多,並且遠遠超過了它們的等效物。毫無疑問,很多人會不同意。
我喜歡嘗試將用戶界面定義與一般程序邏輯分開的不同方法以及如何處理全應用變量。對於這個項目,這三個仍然位於main.pas中,但是在一個具有多個單元的更大的項目中,我將它們分開的方式可以被採用,將它們全部放在單獨的單元中。我對Delphi的唯一批評一直可以追溯到V1,這是它(以及所有書籍)鼓勵所有代碼都包含在表格單元和活動處理程序程序中的方式。在我看來,我們花了很長時間才終於擺脫了這種範式。我的觀點是,您應該寫作,以便可以創建一個全新的UI,然後才能連接到後端程序邏輯。
儘管自從我沒有盒裝V1的那一刻起就愛上了Delphi,但我討厭和討厭開始...以激情結束{我絕對有捲曲的brace Envy}。因此,我嘗試找到使我的代碼看起來更加整潔的方法,其中包括在單獨的行上沒有各個端,如您所見:D
我編寫的所有方法(與IDE創建的事件處理程序程序等)定義為具有默認布爾返回值的函數。
我只是作為思想的食物來介紹所有這些。我沒想到該行業會突然採用我的奇異編碼策略。但是,您可能會發現一些小小的靈感來做事與傳統書面代碼的方式有些不同。如果沒有,至少您已經被預警了!
Minimalist Media Player ?考慮到有多少其他完美的Windows媒體播放器,包括我絕對喜歡的Potplayer(VLC已被篡奪!)。這個寵物項目源於一個單一的要求:我有100個小的,大多數有趣的視頻剪輯,這些剪輯是從社交媒體平台下載的。我需要一種方法來快速瀏覽整個剪輯集,並決定是否保留或刪除每個剪輯。事實證明,使用標準媒體播放器非常艱辛,因為其中大多數沒有使您能夠刪除正在播放的視頻。我必須播放剪輯,將其關閉,將其刪除在Explorer中,然後返回媒體播放器繼續下一個剪輯。有了Minimalist Media Player我能夠很快地瀏覽我的收藏,瀏覽每個視頻,決定是否保留它,然後繼續進行下一個剪輯。查看代碼並查看一些可能的操作時,請記住,該應用程序開始生活,可以快速檢查和保存或刪除整個視頻片段,而無需重複離開並重新啟動該應用程序。
如果您發現Minimalist Media Player有用,並且有改進的建議,我願意考慮自己或通過拉動請求實施它們。如果您要遵循我的編碼禮節,並且有案例語句,而不是語句,我將非常感激。當您習慣於僅在IF上使用它們時,它們真的很容易採用。
最終,我想替換Windows Media Player作為視頻渲染器,並通過其出色的視頻處理功能或Microsoft Media Foundation / MFPACK將Minimalist Media Player成為Mplayer的前端(我感謝一些建議是最新的方法)。例如,WMP確實無法正確地向後框架(它返回1秒,而不是1幀!),我還必須評論視頻擦洗設施(沿進度欄拖動鼠標以快速通過視頻掃描-WMP進入正確的泡菜!)。如果您想實現Mplayer或MMF/MFPACK(以未來提供最豐富的功能)來替換WMP,請成為我的客人!
編輯:我目前正在基於MPV對該項目進行beta測試! MinimalistMediaPlayerX將在幾週內將其釋放到野外。敬請關注。
這是我第一次嘗試將源代碼項目作為開源。請保持溫柔:P如果順利進行,我還有更多的項目,我可能願意釋放到野外。
我永遠感謝所有啟發我開始發布代碼的開發人員。