Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android實現橫豎屏不間斷播放文件

android實現橫豎屏不間斷播放文件

編輯:Android開發實例

 在調用android api播放視頻,使用MediaPlayer一文中講述了利用MediaPlayer播放文件,但是android在橫豎屏變換時,其生命周期發生了變換,見:android屏幕切換與生命周期。

要想實現在變換橫豎屏時,繼續播放之前的文件,就要記錄播放文件的時間,在下次播放的時候,從此處開始播放即可。正好MediaPlayer提供這兩個方法,利用getCurrentPosition()得到當前播放的毫秒數,利用seekTo(i)播放文件從i毫秒開始播放。從而實現了繼續播放文件。

 

其代碼:

 

  1. package com.easymorse;  
  2. import android.app.Activity;  
  3. import android.os.Bundle;  
  4. import android.util.Log;  
  5. import android.widget.MediaController;  
  6. import android.widget.Toast;  
  7. import android.widget.VideoView;  
  8. public class androidmp4demo extends Activity {  
  9.     private String path = "http://dev.mopietek.net:8080/mp4/avi512.mp4";  
  10.     private  VideoView mVideoView;  
  11.     private static int i = 0;  
  12.     public void onCreate(Bundle icicle) {  
  13.         super.onCreate(icicle);  
  14.         setContentView(R.layout.videoview);  
  15.         mVideoView = (VideoView) findViewById(R.id.surface_view);  
  16.         if (path == "") {  
  17.             Toast.makeText(  
  18.                     androidmp4demo.this,  
  19.                     "Please edit VideoViewDemo Activity, and set path"  
  20.                             + " variable to your media file URL/path",  
  21.                     Toast.LENGTH_LONG).show();  
  22.         } else {  
  23.             mVideoView.setVideoPath(path);  
  24.             MediaController controller = new MediaController(this);  
  25.             mVideoView.setMediaController(controller);  
  26.             mVideoView.requestFocus();  
  27.         }  
  28.     } 
  29.  
  30.     @Override  
  31.     protected void onStart() {  
  32.         super.onStart();  
  33.         Log.i("mp4", "@@@ on start");  
  34.     } 
  35.  
  36.     @Override  
  37.     protected void onResume() {  
  38.         super.onResume();  
  39.         mVideoView.seekTo(i);  
  40.         mVideoView.start();  
  41.         Log.i("mp4", "@@@ on resume");  
  42.     } 
  43.  
  44.     @Override  
  45.     protected void onPause() {  
  46.         super.onPause();  
  47.         Log.i("mp4", "@@@ on pause");  
  48.     }  
  49.     @Override  
  50.     protected void onStop() {  
  51.         super.onStop();  
  52.             mVideoView.pause();  
  53.             i = mVideoView.getCurrentPosition();  
  54.         Log.i("mp4", "@@@ on stop");  
  55.     }  
  56.     @Override  
  57.     protected void onDestroy() {  
  58.         super.onDestroy();  
  59.         mVideoView.destroyDrawingCache();  
  60.         Log.i("mp4", "@@@ on destroy");  
  61.     }  

源代碼見:https://easymorse.googlecode.com/svn/trunk/Mp4Demo

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved