public class Video extends Activity {
public static final String TAG = "Video";
private VideoView videoObject;
private String videoLocation;
private int videoPosition;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// create view
setContentView(R.layout.main);
// initialize video object
videoObject = (VideoView) findViewById(R.id.video);
// attempt to get data from before device configuration change
Bundle returnData = (Bundle) getLastNonConfigurationInstance();
if (returnData == null) {
// first startup
Log.d(TAG, "Player started for 1st time");
// set video path
videoLocation = "/sdcard/DCIM/Camera/video-2010-01-10-15-21-17.3gp";
videoObject.setVideoPath(videoLocation);
// play video
videoObject.start();
} else {
// restart after device config change
Log.d(TAG, "Player re-started after device configuration change");
// fetch data from bundle
videoLocation = returnData.getString("LOCATION");
videoPosition = returnData.getInt("POSITION");
Log.d(TAG, "Video location: " + videoLocation);
Log.d(TAG, "Video position: " + videoPosition);
// apply properties to new object
videoObject.setVideoPath(videoLocation);
videoObject.seekTo(videoPosition);
// play video
videoObject.start();
}
}
@Override
public Object onRetainNonConfigurationInstance() {
// Device configuration changed
// Save current video playback state
Log.d(TAG, "Saving video playback state");
videoPosition = videoObject.getCurrentPosition();
Log.d(TAG, "Video location: " + videoLocation);
Log.d(TAG, "Video position: " + videoPosition);
// Build bundle to save data for return
Bundle data = new Bundle();
data.putString("LOCATION", videoLocation);
data.putInt("POSITION", videoPosition);
return data;
}
}
分享到:
相关推荐
如果在OpenGL程序中有额外的模型变换(如缩放、旋转和平移),在进行坐标转换前,我们还需要保存并恢复这些变换操作。例如: ```c++ glPushMatrix(); // 应用模型变换 glScalef(m_srtMatrix[0], m_srtMatrix[1], m_...
屏幕截取程序是一个常见的工具,它允许用户捕获屏幕上的特定区域或整个屏幕,并可能包含诸如保存、编辑或分享截图等功能。 首先,我们需要定义一个“状态”接口或抽象类,这将规定所有可能的屏幕截图状态以及与这些...
6. **屏幕捕捉**:屏幕捕捉是指将电脑屏幕的当前状态保存为图像文件,这对于演示、教学或记录问题非常方便。在VS2005中,可以使用System.Drawing命名空间的Bitmap和Graphics类来捕获和保存屏幕快照。 以上各模块的...
对于复杂的网页,可能需要更复杂的截图解决方案,例如使用无头浏览器(如PhantomJS或Headless Chrome)来获取更准确的屏幕快照。 总结来说,C#的`WebBrowser`控件结合GDI+库,可以方便地在B/S结构中实现网页内容的...
在TestLifecycleActivity中,我们可以模拟上述步骤进行测试,确保Activity在不同生命周期状态间转换时能妥善处理其状态。测试应该覆盖所有可能引起Activity重建的情况,包括配置更改、系统内存压力等。 总结起来,...
在Android系统中,"截取当前屏幕保存到SD卡"是一项常见的功能,它涉及到屏幕捕获、文件存储以及时间戳的使用。以下是对这个过程的详细解析: 1. **屏幕捕获**:在Android中,截屏通常是通过调用系统的`View`类提供...
- 更新工具可能包含在提供的压缩包内,用于确保转换工具始终处于最新状态,修复可能存在的bug,提升转换效率,或者增加新的功能,如支持更多图像格式或优化用户界面。 4. **应用领域** - 软件开发:在编写桌面...
转换过程中,软件会将原始视频的编码、分辨率、帧率等参数优化,使其适应手机屏幕和存储空间,同时保持良好的画质和音质。 转换为MP4格式是目前最流行的选择,因为MP4不仅具有较高的压缩效率,节省存储空间,还被...
截图是指通过编程手段捕捉当前屏幕或某个窗口的内容,并将其转换为图像文件的过程。在C#中,主要通过`System.Drawing`命名空间下的`Bitmap`和`Graphics`类来实现这一功能。 - **Bitmap**:用于表示图像的数据结构,...
这个易语言模块通过捕获屏幕上的动态变化,将其保存为视频文件,提供了一种便捷的记录和分享屏幕内容的方式。 易语言模块的实现通常由多个组件和函数组成,可能包括以下关键部分: 1. **屏幕捕获**:模块首先需要...
1. 截取屏幕:每隔一定时间间隔(如每秒30帧)获取屏幕的当前状态,这通常通过操作系统提供的API函数实现。 2. 图像处理:将截取到的屏幕图像转换为适合存储的格式,如BMP或JPEG。 3. 编码压缩:为了减小文件大小,...
由于Visual Studio 2015 PRE可能不再支持,你可能需要将源代码转换到更新的版本,如Visual Studio 2017或更高版本以进行编译和运行。 WMEncoder是微软提供的一个组件,用于高质量的音频和视频编码。在屏幕录像场景...
用户选择保存位置和文件名后,程序将当前画布的内容转换成图像并保存。 4. **当前页绘画**:这意味着用户可以在应用程序的主窗口或者指定的画布上自由绘画。VB中,通常会创建一个窗体(Form)作为画布,然后在Paint...
3. **保存和恢复状态**:当屏幕方向变化时,Android会默认重新创建Activity,因此你需要处理状态的保存和恢复。重写`onSaveInstanceState(Bundle outState)`和`onRestoreInstanceState(Bundle savedInstanceState)`...
2. **定时捕获**:设定间隔时间,自动定期截取屏幕,这对于监控软件运行状态或记录变化非常有用。 3. **滚动窗口截图**:能捕捉整个滚动窗口的内容,这对于网页或长文档的截图非常方便。 4. **编辑工具**:内置简单...
该程序首先保存了当前的寄存器状态,然后读取AD转换的结果,并通过一系列操作将结果输出或存储到指定位置。 ### 总结 综上所述,这段代码实现了一个简单的AD转换器程序,涵盖了AD转换的基本流程和汇编语言的基础...
4. 输出:保存转换后的字模数据到指定文件,供后续编程使用。 此工具的一大优势在于其小巧的体积,这意味着它不仅占用资源少,而且易于分发和使用。对于开发者而言,这意味着更高的工作效率,因为它消除了手动创建...
此外,如果经常需要处理同一类型的视频,可以设置保存常用的转换配置,方便以后快速调用。 值得注意的是,尽管软件是免费的,但可能包含一些广告或者限制,比如转换速度、文件大小或数量等。为了获得更好的体验,...
这是因为系统在进入和退出Sleep模式时,需要通知所有设备驱动保存状态和恢复工作,这一过程既耗时又耗能。 相比之下,Smartphone的AlwaysOn模型虽然始终保持屏幕和关键组件的活跃,但在避免了频繁状态转换带来的...
1. **屏幕截图API**:现代浏览器提供了一些API,如`html2canvas`,它可以将HTML元素渲染为Canvas,然后进一步转换为图片(如JPEG或PNG)。这个库允许开发者通过JavaScript操作DOM,将指定的`div`捕获为图片。首先,...