软 件介绍
mpvRx是一款基于libmpv开发的Android视频播放器,专注于提供高效、无广告且功能丰富的多媒体播放体验。该播放器解决了用户在移动设备上观看视频时对性能、画质和自定义功能的需求,支持从本地文件到网络流媒体的多种播放场景。主要用途包括高质量视频播放、音乐播放以及支持HDR等高级视频处理功能,特别适合对播放器性能有高要求的用户。
使用说明
暂无
核心功能
支持25+种颜色主题,包括动态主题和AMOLED纯黑模式
支持25+种颜色主题,包括动态主题和AMOLED纯黑模式
强大的手势控制系统,包括双击快进、滑动调节音量和亮度等
强大的手势控制系统,包括双击快进、滑动调节音量和亮度等
HDR视频处理流水线,提供更高质量的图像输出
HDR视频处理流水线,提供更高质量的图像输出
自动黑边裁剪功能,优化视频显示比例
自动黑边裁剪功能,优化视频显示比例
画中画模式和多窗口播放支持
画中画模式和多窗口播放支持
无广告、无追踪器的纯净播放体验
无广告、无追踪器的纯净播放体验
版本更新内容
当前版本 v2.6.0 更新内容(内容较多时可在框内滚动查看)
v2.5.0
2.5.0 - Frame Review, Auto Crop & Library Performance
[!IMPORTANT]
Project hiatus: Following version 2.5.0, mpvRx development new Version will be paused and not released until further notice.
🎬 Frame Review, Seeking & Playback
- Frame-Level Review: Added a full-player Frame Review mode with horizontal frame swipes, previous/next-frame controls, precise frame and millisecond readouts, snapshots with optional subtitles, and a transparent responsive layout.
- Frame-Addressed Timeline: The Frame Review slider now selects integer video frames. Dragging uses throttled keyframe previews, while release performs an exact mpv seek with bounded refinement and adjacent-frame correction for precision without sustained decoder load.
- Reliable Forward and Backward Seeking: Backward seeks use exact targets to keep audio and video aligned. Forward seeks stop safely before EOF and a subsequent forward action can finish playback instead of becoming unresponsive near the end.
- Safer Surface Recovery: MediaCodec video is suspended before an Android playback surface is destroyed and restored only for the matching playback generation, reducing black frames and decoder failures after surface recreation.
- thumbfast Seek Preview Removal: Removed the separate ThumbFast overlay engine, frame-decode cache, preference, and UI. Scrubbing now uses one throttled live-video preview path, reducing duplicate decoder work and stale preview races.
- Smoother Startup and Controls: Reduced startup control flicker, replaced overshooting control springs with predictable timed transitions, and improved seek coalescing so rapid gestures settle on the latest requested position.
- Correct Orientation from the First Frame: Local videos pass their known dimensions into the player so portrait and landscape orientation can be selected before playback appears instead of rotating after startup.
- Correct Audio State Across Transitions: Playback teardown no longer carries a temporary seek mute into the next file, and terminal playback state is persisted immediately when a file reaches EOF.
- Persistent Video Geometry: Video zoom survives file loads, while crop, pan, zoom, stretch, and ambient rendering now share one consistent geometry path.
- Immediate Runtime Changes: Clearing playback history updates repository-backed state immediately, and edited enabled Lua scripts reload with the next player core.
✂️ Automatic Crop & Video Output
- Automatic Black-Bar Cropping: Added an Auto Crop aspect mode that samples multiple frames, detects persistent black borders conservatively, and caches results for repeat playback.
- Variable-Aspect Safety: Auto Crop now handles changing aspect ratios, source rotation, and short or dark scenes without retaining stale crop measurements.
- Stretch and Ambient Compatibility: Cropping works correctly in stretch layouts and updates the ambient background from the same final video geometry.
- Translated Auto Crop Experience: Auto Crop status, actions, results, and error messages are available across every supported app language.
- Cleaner HDR Configuration: Removed redundant tone-mapping and gamut-mapping overrides so HDR output follows the selected pipeline without conflicting transformations.
🎛️ Player Controls, PiP & Navigation
- Onboarding Never Blocks the App: "Get started" now always enters the app, even when permissions were skipped — the finish page lists any missing permissions in an amber warning instead of the quick-tour toggle, and screens that need storage show a compact in-place "Grant access" prompt.
- Search Bar Respects the Status Bar: The inline search bar (folders, videos, music, playlists, network, Jellyfin) no longer renders under the status bar and camera cutout — the system-inset padding lost in the Material search migration is back.
- Streaming Link Handling Toggle: New "Open streaming site links" switch in player settings controls whether mpvRx registers for YouTube, Vimeo, Twitch, Odysee, and Bilibili links — turn it off and those links go straight to their own apps while direct media URLs keep working.
- Correct First Playlist Entry: Opening any video other than the first from a folder no longer shows the opened video's name on the playlist sheet's first row — stale launch metadata from the temporary one-item queue is now cleared before the folder playlist is published.
- Right-Edge Action Panel: Added a bare right-edge pull handle that opens the complete player action set in the app's movable
DraggablePanel. - Consistent Action Tiles: Player actions use a responsive three-column tile layout with normalized icon sizes, no nested circular backgrounds, dynamic colors, and full-tile indicators for active settings such as Background Playback, HDR, Ambient, Repeat, Shuffle, transforms, speed, and zoom.
- Swipe Speed Lock: Added a hold-speed swipe gesture with locking, haptic feedback, and reliable restoration to 1x when the lock is released.
- Configurable Audio Seeking: Music-player rewind and forward controls now use the configured double-tap seek duration.
- Reliable PiP Handoffs: Expanding PiP restores the full player without interrupting playback, Back opens the mini player where appropriate, and the PiP close action stops playback cleanly.
- Supported-Link Routing: Expanded Open by default coverage for supported YouTube domains.
🌐 Network Streaming & Protocols
- Auto-Next at End of File Restored: Videos and music advance to the next queue item again when a file finishes — in the player and during background playback. A 2.5.0 change suppressed the end-of-file signal that keep-open builds rely on; it now flows again and is validated against the playback position so a dropped network stream can't fake it and skip mid-file.