- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Android截取视频帧并转化为Bitmap示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
MainActivity如下
复制代码 代码如下
package cn.testmediametadataretriever; import java.io.File; import java.io.FileOutputStream; import android.media.MediaMetadataRetriever; import android.os.Bundle; import android.os.Environment; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.Bitmap.CompressFormat; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * Demo描述: * 利用MediaMetadataRetriever按照时间截取视频 * 并转换为Bitmap存放于SDCard * * 特别注意: * getFrameAtTime()方法第一个参数的单位是微秒 (us) * */ public class MainActivity extends Activity { private Button mButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init(){ mButton=(Button) findViewById(R.id.button); mButton.setOnClickListener(new ClickListenerImpl()); } private class ClickListenerImpl implements OnClickListener{ @Override public void onClick(View v) { switch (v.getId()) { case R.id.button: getBitmapsFromVideo(); default: break; } } } public void getBitmapsFromVideo() { String dataPath = Environment.getExternalStorageDirectory()+ "/testVideo.mp4"; MediaMetadataRetriever retriever = new MediaMetadataRetriever(); retriever.setDataSource(dataPath); // 取得视频的长度(单位为毫秒) String time = retriever.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); // 取得视频的长度(单位为秒) int seconds = Integer.valueOf(time) / 1000; // 得到每一秒时刻的bitmap比如第一秒,第二秒 for (int i = 1; i <= seconds; i++) { Bitmap bitmap = retriever.getFrameAtTime(i*1000*1000,MediaMetadataRetriever.OPTION_CLOSEST_SYNC); String path = Environment.getExternalStorageDirectory()+ File.separator + i + ".jpg"; FileOutputStream fos = null; try { fos = new FileOutputStream(path); bitmap.compress(CompressFormat.JPEG, 80, fos); fos.close(); } catch (Exception e) { e.printStackTrace(); } } } } 。
main.xml如下
复制代码 代码如下
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="获取视频的帧图片" android:layout_centerInParent="true" /> </RelativeLayout> 。
最后此篇关于Android截取视频帧并转化为Bitmap示例的文章就讲到这里了,如果你想了解更多关于Android截取视频帧并转化为Bitmap示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
目标:我想在设备上安装我的应用程序时从 iTunes 链接中获取我的自定义参数(引荐来源网址)。 iTunes 链接看起来像这样: https://itunes.apple.com/in/app/co
三维数据的获取方式 RGBD相机和深度图 代码展示:在pcl中,把点云转为深度图,并保存和可视化 三维数据的获取方式 在计算机视觉和遥感领域,点云可以通过四种主要的技术获得, (1)根据图像衍生而得,
这是拍摄 out of context所以看起来有点奇怪,但我有以下数据结构: use std::marker::PhantomData; pub struct Map { data: Vec
如何在用户注册时事通讯时运行此跟踪代码? var google_conversion_id = xxxxxx; var google_conversion_language = "e
对于我们的招聘网站,我们为每个与员工编号相关的员工提供了唯一的URL。然后,他们可以将其唯一的URL分配给其个性化页面。想知道是否有一种简单/最佳的方法来跟踪每个员工的表单生成的提交数量。即Todd通
网站 Saritias 情况 我的客户希望跟踪 Google Adwords 转化情况。当客户点击广告、访问网站,然后使用第 3 方预订小部件 ( ResDiary ) 预订餐 table 时,即可实
在我的 react PWA 上,我想在发送表单数据之后跟踪 Google Adwords 中的转化。我已经使用 react-ga 模块来跟踪使用 UA-xxxxxx 编号的页面浏览量。现在我有一个 A
不知道你是否能帮忙。 我们有一个电子商务网站。我们与 PayPal 和 WorldPay 集成进行付款,并将 secure.worldpay.com 和 paypal.com 添加到 Analytic
所以我已经安装了 Google Analytics,现在我想跟踪转化,但我希望转化代码仅在用户来自特定来源/媒介时运行,并忽略其余部分。可能吗? 最佳答案 您可以在分析过程中使用过滤器和/或分段来隔离
我想在同一页面上跟踪 2 个不同的 onclick 转化。 Google 的示例跟踪代码如下所示: /* */ 示例 onclick 代码如下所示: DO
我有一个 VueJS 应用程序,用户在其中提交表单。使用 Vue-resource 将数据发送到服务器。我需要告诉 Google 这是一次转换。 Google 给我的是一个脚本,告诉我放入“thank
我是一名优秀的程序员,十分优秀!