編輯:Android開發實例
在調用android api播放視頻,使用MediaPlayer一文中講述了利用MediaPlayer播放文件,但是android在橫豎屏變換時,其生命周期發生了變換,見:android屏幕切換與生命周期。
要想實現在變換橫豎屏時,繼續播放之前的文件,就要記錄播放文件的時間,在下次播放的時候,從此處開始播放即可。正好MediaPlayer提供這兩個方法,利用getCurrentPosition()得到當前播放的毫秒數,利用seekTo(i)播放文件從i毫秒開始播放。從而實現了繼續播放文件。
其代碼:
- package com.easymorse;
- import android.app.Activity;
- import android.os.Bundle;
- import android.util.Log;
- import android.widget.MediaController;
- import android.widget.Toast;
- import android.widget.VideoView;
- public class androidmp4demo extends Activity {
- private String path = "http://dev.mopietek.net:8080/mp4/avi512.mp4";
- private VideoView mVideoView;
- private static int i = 0;
- public void onCreate(Bundle icicle) {
- super.onCreate(icicle);
- setContentView(R.layout.videoview);
- mVideoView = (VideoView) findViewById(R.id.surface_view);
- if (path == "") {
- Toast.makeText(
- androidmp4demo.this,
- "Please edit VideoViewDemo Activity, and set path"
- + " variable to your media file URL/path",
- Toast.LENGTH_LONG).show();
- } else {
- mVideoView.setVideoPath(path);
- MediaController controller = new MediaController(this);
- mVideoView.setMediaController(controller);
- mVideoView.requestFocus();
- }
- }
- @Override
- protected void onStart() {
- super.onStart();
- Log.i("mp4", "@@@ on start");
- }
- @Override
- protected void onResume() {
- super.onResume();
- mVideoView.seekTo(i);
- mVideoView.start();
- Log.i("mp4", "@@@ on resume");
- }
- @Override
- protected void onPause() {
- super.onPause();
- Log.i("mp4", "@@@ on pause");
- }
- @Override
- protected void onStop() {
- super.onStop();
- mVideoView.pause();
- i = mVideoView.getCurrentPosition();
- Log.i("mp4", "@@@ on stop");
- }
- @Override
- protected void onDestroy() {
- super.onDestroy();
- mVideoView.destroyDrawingCache();
- Log.i("mp4", "@@@ on destroy");
- }
- }
源代碼見:https://easymorse.googlecode.com/svn/trunk/Mp4Demo
notification是一種讓你的應用程序在沒有開啟情況下或在後台運行警示用戶。它是看不見的程序組件(Broadcast Receiver,Service和不活
可以顯示在的Android任務,通過加載進度條的進展。進度條有兩種形狀。加載欄和加載微調(spinner)。在本章中,我們將討論微調(spinner)。Spinner 用
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個
前文介紹了Android中MediaPlayer用法的時候稍微介紹了SurfaceView,SurfaceView由於可以直接從內存或者DMA等硬件接口取得圖像數