我正在寻找一个图书馆或开放源代码项目,该项目提供了用于修整视频的UI,如屏幕截图所示。包括
如果没有可用的现成解决方案,那么我现在想如何以一种聪明的方式组合现有的UI元素,以实现这一目标或类似目标。
这是我最终实现的内容: Range selector / range seekbar to trim video including thumbnails
MediaMetadataRetriever
获取视频的帧,并指定帧的确切时间。MediaMetadataRetriever retriever = new MediaMetadataRetriever();
retriever.setDataSource(videoFile.getAbsolutePath());
Bitmap bitmap = retriever.getFrameAtTime(timeInMiliSeconds * 1000,
MediaMetadataRetriever.OPTION_CLOSEST_SYNC);
希望对您有帮助。
您可以从GitHub上的TELEGRAM(消息传递应用程序)源代码获取UIhttps://github.com/DrKLO/Telegram
活动:VideoEditorActivity.java(https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/VideoEditorActivity.java)
布局:video_editor_layout.xml
(https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/res/layout/video_editor_layout.xml)他们已经实现了自定义UI组件VideoSeekBarView和VideoTimelineView。
VideoSeekBarView(https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoSeekBarView.java)
VideoTimelineView
(https://github.com/DrKLO/Telegram/blob/master/TMessagesProj/src/main/java/org/telegram/ui/Components/VideoTimelineView.java)附加为Telegram
VideoEditorActivity但是今天,我找到了这个HERE。我不知道是否可以。
范围选择器
用户单击“播放”后,当前播放位置在范围选择器上移动。但是,您无法移动播放位置。
另一种可能性是阅读Android官方应用程序的源代码。我知道您正在搜索图书馆,但这可以是另一种解决方案,如果您了解google源代码,就能达到Google提供的Gallery应用程序相同的质量。看这里(Trim * .java类):https://android.googlesource.com/platform/packages/apps/Gallery2/+/android-6.0.1_r31/src/com/android/gallery3d/app/
抱歉,可能没有任何开源库可以做到这一点。我希望这两个链接对您有用。
尝试在Git上使用以下示例对视频进行修整,例如whatsapp。
此解决方案我尝试过了,可以很好地工作,此示例包括自定义RangeSeekBarView
,自定义ProgressBarView
和seekbar
,您可以在其中选择要修剪的视频的视频范围并保存到目标位置