Pengumuman : Proyek ini sekarang sepenuhnya digantikan oleh https://github.com/bazzacuda/minimalistmediaplayerx/ yang dibangun di atas MPV API yang terkenal, libmpv. ( Versi 3 keluar !! ) karena itu memberikan kontrol yang unggul atas pengalaman audio dan video-playback Anda (dan gambar!), Termasuk zoom yang tepat, panci, rotasi, bingkai ke depan dan ke belakang (!), Subtitle, kecerahan, kontras, gamma dan saturasi, tangkapan layar dan pengeditan cepat, serta memberikan dukungan superior untuk format media dunia.
Kecuali saya mendapatkan permintaan spesifik untuk amandemen (perbaikan bug), rilis saat ini dari versi media minimalis ini (dibangun di atas kontrol Windows Media ActiveX Microsoft yang jauh lebih terbatas) kemungkinan akan menjadi yang terakhir. Selamat tinggal, hamba yang setia!
Pemutar media yang sederhana namun sangat efektif dibangun di sekitar Windows Media Player ActiveX Control.
Minimalist Media Player menyediakan antarmuka pengguna minimalis/yang dioperasikan keyboard (sehingga kontrol di layar tidak mengurangi video) dan kontrol yang dapat digunakan untuk melihat video di jendela minimalis dengan opsi untuk tidak memiliki perbatasan, judul jendela/caption, bilah progres, video timestamp, dll, dan dengan jendela yang diisi ulang ke dalam video dan windu di di bawah, elektronik, elektronik. Ini memberikan pengalaman menonton yang mendalam bahkan ketika dimainkan dalam mode jendela daripada layar penuh.
Meskipun ada banyak kontrol yang perlu diingat, saya telah mencoba menggunakan setiap huruf alfabet secara intuitif. Deskripsi tindakan harus membantu mengaitkan tindakan dengan surat tersebut.
| Kontrol | Tindakan |
|---|---|
ALT-SPACEBAR | Aktifkan menu sistem untuk sampai ke kotak tentang |
ESCape | Keluar dari mode layar penuh, atau keluar dari aplikasi jika dalam mode jendela |
SPACEBAR | Pause/Resume Playback (juga klik mouse kiri pada video, atau klik tunggal mouse kanan) (semua jendela media, spasi saja) |
Ctrl-Up Arrow | Tingkatkan kecepatan pemutaran 10% |
/ | Tingkatkan kecepatan pemutaran 10% |
Ctrl-Down Arrow | mengurangi kecepatan pemutaran 10% |
| mengurangi kecepatan pemutaran 10% |
F12 | Buka File Media di Editor Video Pihak Ketiga (saat ini ShotCut) |
= | Salin Nama File Media ke Clipboard |
A | Mainkan file media pertama di playlist (z plays last) |
B | [B] Kosong/Kembalikan Kemajuan [b] ar |
C | Tampilkan/Sembunyikan di layar [C] ONTROLS DAN MEDIA FILE WAKTUPT (Semua Media Windows) |
Ctrl-C | Tampilkan/Sembunyikan semua kontrol di layar, stempel waktu file media, dan metadata media (semua jendela media) |
D dan DEL | [D] ELETE File Media Saat Ini (Setelah Konfirmasi) |
Ctrl-D and Ctrl-DEL | [D] Elete semua file di folder file media saat ini (setelah konfirmasi) |
E | [E] ars - suara bisu/unmute |
F | tunjukkan/membatalkan [f] mode UllScreen |
G | [G] Ukuran jendela real |
Ctrl-G | Kurangi, yaitu un [g] real, ukuran jendela |
H | Posisikan jendela [h] orizontal (dan secara vertikal) di tengah layar |
I | Zoom [i] n dengan 10% dari tinggi dan lebar video |
J | AD [j] ust rasio aspek jendela agar sesuai dengan rasio aspek video |
K | Tandai file media ini sebagai [k] eep |
L | re [l] oad daftar file media yang didukung dari folder saat ini |
M | [M] AXIMIZE / RESTORE WindOW |
N | mi [n] meniru jendela ke bilah tugas windows |
O | Zoom [o] ut dengan 10% dari tinggi dan lebar video |
P | Jeda file media dan mainkan sebagai gantinya dengan [p] otplayer, jika diinstal |
Q | Mainkan file media sebelumnya di [q] ueue/playlist |
R | [R] membahayakan file media saat ini |
S | re [s] tart file media saat ini dari awal, alias [s] tartover (semua windows media) |
T | [T] ab melalui file media A ke-200, 100 (default), ke-50, 20 atau 10 dari durasinya (gunakan shift-alt, alt, shift, caps lock untuk memodifikasi) (semua jendela media) |
Ctrl-T | [T] ab kembali melalui file media ke -100 (default), ke -50, 20 atau 10 dari durasinya (gunakan alt, shift, caps lock untuk memodifikasi) (semua jendela media) |
TAB | Tab Forwards 1/2 200th Durasi File Media (Hanya Jendela Media yang Dipilih) |
Ctrl-TAB | Tab Backwards 1/2 200 Durasi file media (hanya jendela media yang dipilih) |
U | [U] nzoom, yaitu menyesuaikan kembali video ke jendela |
V | memaksimalkan / mengembalikan [v] iew, sama seperti [m] |
W | [W] atch video berikutnya dalam daftar (atau mainkan audio berikutnya) |
X | e [x] aplikasinya |
Y | tr [y] keluar file media dengan mencicipinya di berbagai tahap |
Z | Mainkan File Media Terakhir di Daftar Putar (A memainkan yang pertama) |
Up Arrow | Tingkatkan volume sebesar 1% |
Down Arrow | mengurangi volume sebesar 1% |
Ctrl-Up Arrow | Tingkatkan kecepatan pemutaran sebesar 10% |
Ctrl-Down Arrow | mengurangi kecepatan pemutaran sebesar 10% |
0 | Tunjukkan teks media secara singkat (semua jendela media) |
1 | Setel ulang kecepatan pemutaran ke normal, yaitu [1] 00% |
2 | Ubah Ubah Ukuran Jendela Sehingga 2 Instance Aplikasi Dapat Ditempatkan Berdampingan |
4 | Ubah Ukuran ke Mini-Window di sudut kanan atas layar |
Ctrl-4 | Pindah ke sudut kanan atas layar tetapi pertahankan ukuran jendela saat ini |
5 | Simpan/Bookmark Penghentian File Media Saat Ini ke File INI |
6 | Ambil timestamp file media yang disimpan/bookmark dari file INI dan lanjutkan pemutaran dari titik itu |
7 | Hapus cap waktu file media yang disimpan/bookmark sebelumnya |
8 | Atur video ke 1-pixel lebih besar dari jendela di keempat sisi |
9 | Ubah Ulang Jendela ke Lebar Video |
RIGHT ARROW | Langkah ke depan satu bingkai |
LEFT ARROW | Langkah mundur satu bingkai |
| Zoom | |
Ctrl-RIGHT ARROW | Saat memperbesar/keluar, pindahkan video tepat di dalam jendela |
Ctrl-LEFT ARROW | Saat memperbesar/keluar, pindahkan video ke kiri di dalam jendela |
Ctrl-UP ARROW | Saat memperbesar/keluar, pindahkan video ke dalam jendela |
Ctrl-DOWN ARROW | Saat memperbesar/keluar, pindahkan video ke bawah di dalam jendela |
| Tambahan | |
Left Click on the window background and hold | Jendela dapat diseret/diposisikan ulang tanpa bilah judul judul jendela |
Left double-click video | Jeda / melanjutkan pemutaran |
Right single-click video | Jeda / melanjutkan pemutaran |
SHIFT key (either) | Tunjukkan atau sembunyikan jendela bantuan yang mencantumkan semua fungsi keyboard |
Ctrl-9 | Auto-arrange hingga 12 contoh Minimalist Media Player di kisi 4x3 (semua jendela media) |
Ctrl-0 | Tutup semua contoh Minimalist Media Player (semua jendela media) |
Daripada hanya mengambil kata Microsoft bahwa kontrol Windows Media Player ActiveX mendukung daftar format file media yang diterbitkan, saya telah menguji banyak format file, dan Minimalist Media Player secara eksplisit mendukung format dan ekstensi file berikut:
.wmv .mp4 .avi .flv .mpg .mpeg .mkv .3gp .mov .m4v .vob .ts .webm .divx .m4a .mp3 .wav .aac .m2ts .flac .mts .rm .asf
Lebih banyak format dan ekstensi file dapat dengan mudah ditambahkan ketika dikonfirmasi untuk bekerja. WMP memiliki masalah memainkan beberapa file FLV yang, anehnya, pergi jika Anda mengganti nama file ke format lain, misalnya MP4
Agar Anda dapat membuka proyek dan menampilkan formulir utama yang berisi komponen Windows Media Player ActiveX, dari menu di RAD Studio / Delphi, Anda perlu melakukan "Komponen / Komponen Impor ... / Kontrol Activex Impor", dan pilih Windows Media Player dari daftar; Rad Studio kemudian akan menghasilkan unit ini secara otomatis dan memasang komponen ke palet ActiveX.
Daripada mengikuti kawanan, saya suka bereksperimen dengan berbagai cara untuk tata kode saya dan membuatnya lebih mudah dibaca dan lebih mudah dipahami oleh mereka yang melihatnya untuk pertama kalinya, dan untuk diri saya sendiri ketika kembali ke sana berbulan -bulan atau bahkan bertahun -tahun kemudian.
Saya menggunakan Delphi IDE dengan editor kode 180 karakter. Ini mengejutkan saya sebagai orang bodoh bahwa kami tampaknya tidak memanfaatkan sepenuhnya monitor layar lebar resolusi tinggi kami ketika mengedit kode (Delphi masih secara otomatis membungkus tanda tangan prosedur pawang di Kolom 56, terlepas dari bagaimana saya telah menentukan margin!), Dan kami semua tampak membenci untuk melampaui kolom 80, yang ada di belakangnya dan meng-coding, Coding, dan Coding, Coding, Coding, dan Coding, dan JENCA KARD !! : D Jadi, pertama, saya memanfaatkan sepenuhnya 180 kolom editor saya.
Saya tidak suka pernyataan bersarang jika. Saya pikir mereka jelek, sulit diikuti dan sangat rentan terhadap kesalahan manusia saat memodifikasi/memperluasnya. Akibatnya, saya tidak menggunakan pernyataan sama sekali dan selalu menggunakan pernyataan kasus sebagai gantinya. Saya menganggap mereka jauh lebih rapi dan tampak lebih elegan, secara signifikan lebih mudah untuk diikuti dan diubah, dan sama sekali jauh lebih unggul daripada yang setara dengan bersarang mereka. Saya tidak ragu banyak yang tidak setuju.
Saya suka bereksperimen dengan berbagai cara memisahkan definisi antarmuka pengguna dari logika program umum dan bagaimana variabel seluruh aplikasi harus ditangani. Untuk proyek ini, ketiganya masih berlokasi di Main.pas, tetapi pada proyek yang jauh lebih besar dengan banyak unit, cara saya memisahkan mereka dapat diadopsi, menempatkan semuanya di unit terpisah. Satu -satunya kritik saya terhadap Delphi, kembali ke V1, adalah cara itu (dan semua banyak buku) mendorong semua kode untuk terkandung dalam unit formulir dan prosedur penangan acara. Menurut saya, kami terlalu lama untuk akhirnya melepaskan diri dari paradigma itu. Pandangan saya adalah bahwa Anda harus menulis sehingga UI yang sama sekali baru dapat dibuat dan kemudian hanya terhubung ke logika program back-end.
Meskipun jatuh cinta dengan Delphi sejak saat saya Unboxed V1, saya benci dan membenci Begin ... diakhiri dengan hasrat {Saya pasti memiliki iri jepit keriting}. Karena itu, saya mencoba menemukan cara untuk membuat kode saya terlihat jauh lebih rapi, yang termasuk tidak memiliki ujung pada baris terpisah, seperti yang akan Anda lihat: D
Semua metode yang saya tulis (sebagai lawan dari prosedur penangan acara yang dibuat IDE, dll.) Didefinisikan sebagai fungsi dengan nilai pengembalian Boolean default.
Saya menyajikan semua ini hanya sebagai makanan untuk dipikirkan; Saya tidak mengharapkan industri tiba -tiba mengadopsi strategi pengkodean saya yang aneh. Anda mungkin menemukan sedikit inspirasi untuk melakukan hal -hal yang sedikit berbeda, untuk bagaimana Anda menulis kode secara tradisional. Dan jika tidak, paling tidak Anda telah memperingatkan!
Minimalist Media Player ? Pertanyaan yang bagus, mengingat berapa banyak pemutar media Windows yang sangat bagus lainnya, termasuk favorit saya yang mutlak, Potplayer (VLC telah dirampas!). Proyek hewan peliharaan ini tumbuh dari satu persyaratan: Saya memiliki 100 -an klip video kecil, kebanyakan lucu, yang telah saya kumpulkan selama bertahun -tahun, diunduh dari platform media sosial. Saya membutuhkan cara untuk dengan cepat melewati seluruh koleksi klip saya dan memutuskan apakah akan menyimpan atau menghapus setiap klip. Ini terbukti sangat melelahkan menggunakan Media Player standar karena kebanyakan dari mereka tidak memberi Anda kemampuan untuk menghapus video yang diputar. Saya harus memainkan klip, menutupnya, menghapusnya di Explorer, lalu kembali ke pemutar media untuk melanjutkan dengan klip berikutnya. Dengan Minimalist Media Player saya dapat melalui koleksi saya dengan sangat cepat, membaca sekilas setiap video, memutuskan apakah akan menyimpannya atau tidak, dan kemudian beralih ke klip berikutnya. Saat melihat -lihat kode dan melihat beberapa operasi yang dimungkinkan, harap diingat bahwa aplikasi ini mulai hidup memungkinkan seluruh koleksi klip video untuk diperiksa dan disimpan atau dihapus dengan sangat cepat, tanpa harus berulang kali pergi dan memulai kembali aplikasi.
Jika Anda menemukan Minimalist Media Player bermanfaat dan Anda memiliki saran untuk perbaikan, saya bersedia mempertimbangkan untuk mengimplementasikannya sendiri atau melalui permintaan tarik. Saya akan sangat berterima kasih jika Anda akan mengikuti etiket pengkodean saya dan memiliki pernyataan kasus daripada jika pernyataan; Mereka sangat mudah diadopsi ketika Anda terbiasa menggunakannya secara eksklusif melalui IFS.
Pada akhirnya, saya ingin mengganti Windows Media Player sebagai penyaji video dan menjadikan Minimalist Media Player menjadi front-end untuk Mplayer dengan kemampuan penanganan video yang unggul, atau mungkin Microsoft Media Foundation / MFPack (saya akan menghargai beberapa saran yang akan menjadi pendekatan paling mutakhir). Misalnya, WMP benar -benar tidak melakukan bingkai ke belakang dengan benar (kembali 1 detik bukan 1 bingkai!), Dan saya juga harus mengomentari fasilitas penggosok video (menyeret mouse di sepanjang bilah kemajuan untuk dengan cepat memindai video - WMP masuk ke acar kanan!). Jika Anda ingin mengimplementasikan mplayer atau mmf/mfpack (mana yang akan memberikan fungsionalitas terkaya di masa depan) untuk menggantikan WMP, harap jadilah tamu saya !!
EDIT: Saya sedang menguji ulang beta-penulisan ulang proyek ini berdasarkan MPV! MinimalistMediaPlayerX akan dilepaskan ke alam liar dalam hitungan minggu. Pantau terus.
Ini adalah upaya pertama saya untuk merilis proyek kode sumber sebagai open source. Harap bersikap lembut: P Jika ini berjalan dengan baik, saya memiliki lebih banyak proyek yang mungkin saya rilis ke alam liar.
Saya selamanya berterima kasih kepada semua pengembang yang telah menginspirasi saya untuk mulai melepaskan kode saya.