MediaPlayer+SurfaceView 视频截图
来源:互联网 发布:无线端淘宝收藏店铺 编辑:程序博客网 时间:2024/06/05 16:26
其中MediaMetadataRetriever类在2.3api之后 才提供,大致就是这样的,系统点的代码 以后再补- -
private void savaScreenShot()
{
mMediaPlayer.pause();
Bitmap bitmap = null;
// 2.3api下可用MediaMetadataRetriever retriever = new MediaMetadataRetriever();
try
{
retriever.setDataSource("/mnt/sdcard/oppo.mp4");//资源路径
String timeString =
retriever
.extractMetadata(MediaMetadataRetriever.METADATA_KEY_DURATION); //这一句是必须的
long time = Long.parseLong(timeString) * 1000; //获取总长度,这一句也是必须的
//mSeekBarProgress是一个显示当前播放进度的进度条,因为之前通过mSeekBarProgress.setMax(mMediaPlayer.getDuration());设置过了,所以
//mSeekBarProgress.getMax()获取的时这个视频的总时间,而mSeekBarProgress.getProgress()是播放的当前进度
time * mSeekBarProgress.getProgress()
/ mSeekBarProgress.getMax(); //通过这个计算出想截取的画面所在的时间
bitmap = retriever.getFrameAtTime(currentPostion);// 按当前播放位置选择帧
}
catch (IllegalArgumentException ex)
{
}
catch (RuntimeException ex)
{
.
}
finally
{
try
{
retriever.release();
}
catch (RuntimeException ex)
{
}
//截图保存路径
Environment.getExternalStorageDirectory() + "/droidnova";
String path = mScreenshotPath + "/" + mMyTime.getDate() + ".jpg";
File file = new File(path);
FileOutputStream fos;
try
{
Toast.makeText(VideoPlayerActivity.this, "截图成功,保存为" + path, Toast.LENGTH_SHORT).show();
fos = new FileOutputStream(file);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.close();
}
catch (FileNotFoundException e)
{
Log.e("Panel", "FileNotFoundException", e);
}
catch (IOException e)
{
Log.e("Panel", "IOEception", e);
}
mMediaPlayer.start();
}
- MediaPlayer+SurfaceView 视频截图
- SurfaceView+MediaPlayer实现视频播放
- MediaPlayer和SurfaceView播放视频
- MediaPlayer和SurfaceView播放视频
- 使用SurfaceView&MediaPlayer播放视频
- MediaPlayer、SurfaceView实现视频播放
- android视频播放MediaPlayer+SurfaceView
- MediaPlayer和SurfaceView播放视频
- 使用SurfaceView+MediaPlayer视频播放
- surfaceview播放视频截图黑屏
- SurfaceView播放视频的截图
- 使用mediaplayer + surfaceview来播放视频
- 使用MediaPlayer和SurfaceView播放视频
- 使用MediaPlayer和SurfaceView播放视频
- surfaceView+mediaplayer+seekBar+自定义视频时间监控
- 使用MediaPlayer和SurfaceView播放视频
- MediaPlayer + SurfaceView 来实现 视频播放
- SurfaceView + MediaPlayer 实现视频播放功能
- Linux安装后的任务
- 扎克伯格申请专利6年终获批
- 如何将页面设为首页
- 关于REST
- 可爱的 Python: Decorator 简化元编程
- MediaPlayer+SurfaceView 视频截图
- Linux Shell中各种分号和括号的用法总结
- header的用法(PHP)
- Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决
- OLE
- XCode下的GDB命令实例
- OpenGL ES之glMatrixMode函数
- vs2008 环境配色
- java 反射和 工厂模式结合使用