view videovideo ts是什么意思软件

当前位置: &
> VideoCacheView(提取视频缓存) v2.98 汉化绿色版
VideoCacheView(提取视频缓存) v2.98 汉化绿色版
软件大小:0.108MB
软件语言:简体中文
软件类型:绿色软件
授权方式:免费版
更新时间:
软件分类:
软件官网:
用户评分:
运行环境:WinXP/Win7/Win8/
当在某个网站观看完一个视频后,您可能想将视频文件保存下来以便将来离线播放.如果此视频文件保存在您的浏览器的缓存里,则VideoCacheView汉化版可以帮您将视频文件从缓存中提取出来并保存它以便将来观看.
VideoCacheView汉化版自动扫描internet explorer和基于mozilla的网络浏览器(包括firefox)的整个缓存,查找当前存储于其中的所有视频文件.它能让您很容易地复制缓存的视频文件或其它目录以便将来进行播放和观看.如果您有一个关联了flv文件的,您还可直接播放缓存中的视频文件.
VideoCacheView汉化版是绿色软件,不需要安装也不附加的dll链接库,只需执行videocacheview.exe文件即可.运行VideoCacheView汉化版后,它将自动扫描您的ie或mozilla浏览器的缓存目录,在等候5-30秒扫描完成后,程序的主窗口将显示缓存中的所有视频文件.
在主窗口的视频文件列表显示出来后,取决于视频文件是否保存于本地缓存中,您可以选择以下不同的操作选项:
如果视频文件存在于缓存中,则可以选择&播放选定文件&,&复制选定的文件到&等操作;
如果视频文件不存于缓存中,则可以选择&在浏览器中打开下载url&,&复制下载url&等操作
10.9M | 简体中文
13.8M | 简体中文
520.12M | 简体中文
45.6M | 简体中文
124M | 简体中文
53.146M | 简体中文
0.108M | 简体中文
14.438M | 简体中文
198.8M | 简体中文
下载错误?
VideoCacheView(提取视频缓存) v2.98 汉化绿色版
下载地址:
大家都喜欢
注:您的评论需要经过审核才能显示哦,请文明发言!
多媒体分类
视频工具排行
本站资源均收集整理于互联网,其著作权归原作者所有,如果有侵犯您权利的资源,请来信告知,我们将及时撤销相应资源。
Copy 2017 xp510.Com. All Rights Reserved.提取浏览器缓存视频(VideoCacheView)下载v2.87 免费汉化版_西西软件下载
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
相关软件 /英文/ /中文/ /中文/ /中文/ /英文/ /中文/ /中文/ /中文/ /中文/ /中文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
10.1M/中文/7.2
3.4M/中文/8.2
41.4M/中文/7.0
41M/中文/9.7
2M/中文/8.2
3.3M/中文/1.4
20.4M/中文/6.0
在网上看完视频后,你可能想要保存视频文件到硬盘中以便以后再观看。如果视频被储存在浏览器的缓存文件夹中,这个软件可以帮助你从缓存文件夹中找到该视频文件并保存到其他位置。它会自动扫描IE、基于Mozilla的网页浏览器(包括FireFox)的整个缓存文件夹,并找出当前储存在里面的所有视频文件。同时,本软件还允许你很容易地复制视频缓存文件到其他文件夹以便以后播放。如果你有播放FLV文件的播放器,本软件也允许你从缓存文件夹中直接播放该文件。更新历史:2.63版本修正:VideoCacheView说YouTube将文件拆分为零文件大小,这有时会导致生成的合并文件损坏的。*版本2.40&增加了“使用Web页的标题作为文件名”选项,在“复制视频文件对话框的。如果此选项打开,VideoCacheView将使用Web页的标题(下出现在“标题”栏)生成的视频文件名。*版本2.38修复问题:在某些系统中,VideoCacheView保存.mp4文件没有文件扩展名。版本2.10增加了“开始隐藏”选项。当此选项,并把托盘图标“选项打开时,主窗口的VideoCacheView会开始隐藏。版本 2.05新增“标记没有缓存的文件”选项.一般情况下,我们一旦在一些视频网站浏览过了视频,系统就会在浏览器的缓存目录里留下该视频的缓存文件,这也就是为什么我们的缓存目录体积会越来越大的原因。
安卓官方手机版
IOS官方手机版
VideoCacheView 的作用就是帮你列出你浏览器缓存目录里的所有视频文件你可以对其进行一些基本的操作,比如播放、移动、查找、复制下载地址、查看属性等等。
提取浏览器缓存视频(VideoCacheView) v2.87 免费汉化版
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。Android使用VideoView播放本地视频和网络视频的方法
转载 & & 投稿:daisy
本文将讲解如何使用Android视频播放器VideoView来播放本地视频和网络视频,实现起来还是比较简单的,有需要的可以参考借鉴。
1、效果展示
2、布局文件
&?xml version="1.0" encoding="utf-8"?&
&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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="app.com.myapplication.LocalVideoActivity"&
&RelativeLayout
android:layout_width="match_parent"
android:layout_height="200dp"&
&VideoView
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"
&/RelativeLayout&
&/RelativeLayout&
3、代码部分
package app.com.
import android.media.MediaP
import android.net.U
import android.os.B
import android.os.E
import android.support.v7.app.AppCompatA
import android.widget.MediaC
import android.widget.T
import android.widget.VideoV
public class LocalVideoActivity extends AppCompatActivity {
private VideoView videoV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_local_video);
//本地的视频 需要在手机SD卡根目录添加一个 fl1234.mp4 视频
String videoUrl1 = Environment.getExternalStorageDirectory().getPath()+"/fl1234.mp4" ;
//网络视频
String videoUrl2 = Utils.videoU
Uri uri = Uri.parse( videoUrl2 );
videoView = (VideoView)this.findViewById(R.id.videoView );
//设置视频控制器
videoView.setMediaController(new MediaController(this));
//播放完成回调
videoView.setOnCompletionListener( new MyPlayerOnCompletionListener());
//设置视频路径
videoView.setVideoURI(uri);
//开始播放视频
videoView.start();
class MyPlayerOnCompletionListener implements MediaPlayer.OnCompletionListener {
public void onCompletion(MediaPlayer mp) {
Toast.makeText( LocalVideoActivity.this, "播放完成了", Toast.LENGTH_SHORT).show();
package app.com.
* Created by ${zyj} on .
public class Utils {
public static final String videoUrl = "http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" ;
Android使用VideoView播放本地视频和网络视频的方法到这就基本结束了,希望对大家开发Android能有所帮助。如果有疑问可以留言讨论。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具最近要使用播放器做一个简单的视频播放功能,开始学习VideoView,在横竖屏切换的时候碰到了点麻烦,不过在查阅资料后总算是解决了。在写VideoView播放视频时候定义控制的代码全写在Actvity里了,写完一看我靠代码好乱,于是就写了个自定义的播放器控件,支持指定大小,可以横竖屏切换,手动左右滑动快进快退。好了,下面开始。
效果图有点卡,我也不知道为啥。。。。。
VideoView介绍
这个是我们实现视频播放最主要的控件,详细的介绍大家百度就去看,这里介绍几个常用的方法。
用于播放视频文件。 VideoView 类可以从不同的来源(例如资源文件或内容提供器) 读取图像,计算和维护视频的画面尺寸以使其适用于任何布局管理器, 并提供一些诸如缩放、着色之类的显示选项。
VideoView 常用的几个方法
public int getDuration ()
获得所播放视频的总时间
public int getCurrentPosition ()
获得当前的位置,我们可以用来设置播放时间的显示
public int getCurrentPosition ()
获得当前的位置,我们可以用来设置播放时间的显示
public int pause ()
public int seekTo ()
设置播放位置,我们用来总快进的时候就能用到
public int setOnCompletionListener(MediaPlayer.OnCompletionListener l)
注册在媒体文件播放完毕时调用的回调函数。
public int setOnErrorListener (MediaPlayer.OnErrorListener l)
注册在设置或播放过程中发生错误时调用的回调函数。如果未指定回调函数, 或回调函数返回false,会弹一个dialog提示用户不能播放
public void setOnPreparedListener (MediaPlayer.OnPreparedListener l)
注册在媒体文件加载完毕,可以播放时调用的回调函数。
public void setVideoURI (Uri uri)
设置播放的视频源,也可以用setVideoPath指定本地文件
public void start ()
getHolder().setFixedSize(width,height);
设置VideoView的分辨率,如果我们的VideoView在开始播放的时候是竖屏的,当横屏的时候我们改变了VideoView的布局大小,就需要这个方法重新设置它的分辨率,否则你会发现改变了之后VideoView内部的视频部分还是原来的大小,这点要注意。
自定义播放器思路
说是自定义,其实无非就是把这些VideoView和用来显示的其它控件结合在一起,然后在内部处理它的事件交互,我们要做的就是以下几步:1、写好整个空间的布局。2、在自定义控件的内部获取到整个控件内部的各个小控件,并且为它们设置一些初始化事件。3、根据你自己的逻辑和想实现的效果在里面写自己的事件处理,需要在和外部进行交互就提供方法和接口咯。最后就是使用测试效果了。好了,我们就跟着这里说的4步去实现吧!
1、第一步,写自己的布局文件
想要的效果就是在底部放一个状态栏显示时间等信息,播放进度,进入全屏,中间放一个快进快退的状态,布局代码如下:
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/viewBox"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="beforeDescendants"&
android:id="@+id/videoView"
android:layout_width="match_parent"
android:layout_height="match_parent"/&
//底部状态栏
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="#CC282828"
android:padding="3dip"
android:id="@+id/videoControllerLayout"
android:gravity="center"
android:layout_gravity="bottom"&
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:id="@+id/videoPauseBtn"
android:paddingRight="10dip"
android:paddingLeft="10dp"&
android:layout_width="22dp"
android:layout_height="22dp"
android:id="@+id/videoPauseImg" /&
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
android:paddingRight="0dip"&
android:layout_width="fill_parent"
android:id="@+id/videoSeekBar"
android:layout_weight="1"
style="@android:style/Widget.Holo.SeekBar"
android:layout_height="wrap_content"/&
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text="00:00"
android:textSize="12dp"
android:id="@+id/videoCurTime"
android:textColor="#FFF"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"
android:textSize="12dp"
android:textColor="#FFF"
android:text="/"/&
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:gravity="center"
android:text="00:00"
android:textSize="12dp"
android:id="@+id/videoTotalTime"
android:textColor="#FFF"
android:layout_marginRight="10dp"
android:id="@+id/screen_status_btn"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:gravity="center"&
android:id="@+id/screen_status_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@mipmap/iconfont_enter_32"/&
//VideoVIEW中间的开始按钮和进度条以及快进快退的提示
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:id="@+id/progressBar"
style="@android:style/Widget.Holo.ProgressBar.Small"/&
android:layout_width="30dip"
android:layout_height="30dip"
android:id="@+id/videoPlayImg"
android:layout_gravity="center"
android:src="@mipmap/video_box_play"/&
android:id="@+id/touch_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_gravity="center"
android:visibility="invisible"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:paddingTop="5dp"
android:paddingBottom="5dp"
android:background="#000"&
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1"
android:id="@+id/touchStatusImg"/&
android:id="@+id/touch_time"
android:layout_width="wrap_content"
android:text="25:00/59:00"
android:textSize="12sp"
android:textColor="#fff"
android:layout_height="wrap_content"/&
上面的布局很简单,VideoView用了自定义是因为当布局改变的时候,要让VideoView重新获取布局位置,在里面设置它的分辨率为全屏.VideoView的代码如下
public class MyVideoView extends VideoView {
public MyVideoView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
public MyVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
public MyVideoView(Context context) {
super(context);
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int width = getDefaultSize(0, widthMeasureSpec);
int height = getDefaultSize(0, heightMeasureSpec);
this.getHolder().setFixedSize(width,height);
setMeasuredDimension(width, height);
好,布局写好了我来第二步,获取内部控件初始化事件
2、第二步,onFinishInflate()中得到内部的控件,做初始化工作
onFinishInflate方法在xml解析完毕的时候会回调该方法,一般在做组合控件的时候最常用
protected void onFinishInflate() {
super.onFinishInflate()
initView()
private void initView() {
View view = LayoutInflater.from(context).inflate(R.layout.common_video_view,null)
viewBox = (FrameLayout) view.findViewById(R.id.viewBox)
videoView = (MyVideoView) view.findViewById(R.id.videoView)
videoPauseBtn = (LinearLayout) view.findViewById(R.id.videoPauseBtn)
screenSwitchBtn = (LinearLayout) view.findViewById(R.id.screen_status_btn)
videoControllerLayout = (LinearLayout) view.findViewById(R.id.videoControllerLayout)
touchStatusView = (LinearLayout) view.findViewById(R.id.touch_view)
touchStatusImg = (ImageView) view.findViewById(R.id.touchStatusImg)
touchStatusTime = (TextView) view.findViewById(R.id.touch_time)
videoCurTimeText = (TextView) view.findViewById(R.id.videoCurTime)
videoTotalTimeText = (TextView) view.findViewById(R.id.videoTotalTime)
videoSeekBar = (SeekBar) view.findViewById(R.id.videoSeekBar)
videoPlayImg = (ImageView) view.findViewById(R.id.videoPlayImg)
videoPlayImg.setVisibility(GONE)
videoPauseImg = (ImageView) view.findViewById(R.id.videoPauseImg)
progressBar = (ProgressBar) view.findViewById(R.id.progressBar)
videoPauseBtn.setOnClickListener(this)
videoSeekBar.setOnSeekBarChangeListener(this)
videoPauseBtn.setOnClickListener(this)
videoView.setOnPreparedListener(this)
videoView.setOnCompletionListener(this)
screenSwitchBtn.setOnClickListener(this)
videoPlayImg.setOnClickListener(this)
//注册在设置或播放过程中发生错误时调用的回调函数。如果未指定回调函数,或回调函数返回false,VideoView 会通知用户发生了错误。
videoView.setOnErrorListener(this)
viewBox.setOnTouchListener(this)
viewBox.setOnClickListener(this)
addView(view)
很简单的做了代码初始化和videoView的播放事件的注册,这里的事件待会要处理的有viewBox.setOnTouchListener(this)注册的onTouch事件,我们要在里面写左右滑动快进快退的效果,videoSeekBar.setOnSeekBarChangeListener(this);处理拖动seekbar快进快退。
3、第三步,事件、效果处理
viewBox.setOnTouchListener(this);
1、onTouch里的实现快进快退
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
if (!videoView.isPlaying()){
return false;
float downX =
event.getRawX();
touchLastX = downX;
Log.d("FilmDetailActivity", "downX" + downX);
this.position = videoView.getCurrentPosition();
case MotionEvent.ACTION_MOVE:
if (!videoView.isPlaying()){
return false;
float currentX =
event.getRawX();
float deltaX = currentX - touchLastX;
float deltaXAbs
Math.abs(deltaX);
if (deltaXAbs&1){
if (touchStatusView.getVisibility()!=View.VISIBLE){
touchStatusView.setVisibility(View.VISIBLE);
touchLastX = currentX;
Log.d("FilmDetailActivity","deltaX"+deltaX);
if (deltaX & 1) {
position += touchS
if (position & duration) {
position =
touchPosition =
touchStatusImg.setImageResource(R.mipmap.ic_fast_forward_white_24dp);
int[] time = getMinuteAndSecond(position);
touchStatusTime.setText(String.format("%02d:%02d/%s", time[0], time[1],formatTotalTime));
} else if (deltaX & -1) {
position -= touchS
if (position & 0) {
position = 0;
touchPosition =
touchStatusImg.setImageResource(R.mipmap.ic_fast_rewind_white_24dp);
int[] time = getMinuteAndSecond(position);
touchStatusTime.setText(String.format("%02d:%02d/%s", time[0], time[1],formatTotalTime));
case MotionEvent.ACTION_UP:
if (touchPosition!=-1){
videoView.seekTo(touchPosition);
touchPosition = -1;
if (videoControllerShow){
return true;
return false;
2、处理 seekBar的拖动事件
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
int[] time = getMinuteAndSecond(progress);
videoCurTimeText.setText(String.format("%02d:%02d", time[0], time[1]));
public void onStartTrackingTouch(SeekBar seekBar) {
videoView.pause();
public void onStopTrackingTouch(SeekBar seekBar) {
videoView.seekTo(videoSeekBar.getProgress());
videoView.start();
videoPlayImg.setVisibility(View.INVISIBLE);
videoPauseImg.setImageResource(R.mipmap.icon_video_pause);
3、videoView的回调事件
public void onPrepared(MediaPlayer mp) {
duration = videoView.getDuration()
int[] time = getMinuteAndSecond(duration)
videoTotalTimeText.setText(String.format("%02d:%02d", time[0], time[1]))
formatTotalTime = String.format("%02d:%02d", time[0], time[1])
videoSeekBar.setMax(duration)
progressBar.setVisibility(View.GONE)
mp.start()
videoPauseBtn.setEnabled(true)
videoSeekBar.setEnabled(true)
videoPauseImg.setImageResource(R.mipmap.icon_video_pause)
timer.schedule(timerTask, 0, 1000)
//初始化总时间等一些界面显示,同时用timer定时去修改时间进度textView
public void onCompletion(MediaPlayer mp) {
videoView.seekTo(0)
videoSeekBar.setProgress(0)
videoPauseImg.setImageResource(R.mipmap.icon_video_play)
videoPlayImg.setVisibility(View.VISIBLE)
还有一些其它的点击时间就不放了,都是暂停,播放,点击显示隐藏底部状态栏,全屏切换等的事件。到了这里我们的事件处理完毕啦,接下来就要我们视频怎么播放呢?为了播放我们为外部提供一个方法
//开始播放
public void start(String url){
videoPauseBtn.setEnabled(false)
videoSeekBar.setEnabled(false)
videoView.setVideoURI(Uri.parse(url))
videoView.start()
//进入全屏时候调用
public void setFullScreen(){
touchStatusImg.setImageResource(R.mipmap.iconfont_exit)
this.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
videoView.requestLayout()
//退出全屏时候调用
public void setNormalScreen(){
touchStatusImg.setImageResource(R.mipmap.iconfont_enter_32)
this.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,400))
videoView.requestLayout()
上面提供的setFullScreen()和setNormalScreen()需要在Activity的 onConfigurationChanged(Configuration newConfig)横竖屏发生改变的 回调方法里面调用,还需要注意的是我这里写的是LinearLayout的LayoutParams,所以我们自定义的view的父空间要是LinearLayout,当然你也可以修改。
4、控件的使用
我们只需要在获得空间调用start方法,然后在onConfigurationChanged方法里调用setFullScreen和setNormalScreen就可以了,
&?xml version="1.0" encoding="utf-8"?&
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.qiangyu.test.commonvideoview.MainActivity"&
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay"/&
android:id="@+id/common_videoView"
android:layout_width="match_parent"
android:layout_height="300dp" /&
activity代码
public class MainActivity extends AppCompatActivity {
CommonVideoView videoV
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.content_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
videoView = (CommonVideoView) findViewById(R.id.common_videoView);
videoView.start("你的服务器视频地址");
@Override public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
videoView.setFullScreen();
videoView.setNormalScreen();
最后为了防止你的Activity在横竖屏切换的时候重新创建别忘记在AndroidManifest.xml文件里面配置
android:configChanges=&orientation|screenSize|screenLayout&, 如果你这里有疑惑可以参考我的文章&&
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar"
android:configChanges="orientation|screenSize|screenLayout"&
android:name="android.intent.action.MAIN" /&
android:name="android.intent.category.LAUNCHER" /&
好了,整个控件到这里就完成了,源码下载请戳它&&
如果你觉得有对你有帮助,请动动手给个赞吧,有问题记得反馈给我哦!
阅读(...) 评论()}

我要回帖

更多关于 video ts是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信