Android studio相關設置及實現存在於工程目錄中的視頻播放

一:相關設置
1:主題設置
File-->Settings-->Appearance &Behavior-->Appearance-->THeme
2:Java源碼的顏色、字體設置
字體:File-->Settings-->Editor-->Colors&Fonts-->Font
 注意:修改以前先Save as保存原來的,而後才能夠改爲你想要的字體。
源碼顏色:File-->Settings-->Editor-->Colors&Fonts-->Java-->在底下的代碼中選擇相應的代碼-->在右上雙擊Foreground改變顏色
3:若是不想要白色的背景,能夠這樣修改:
File-->Settings-->Editor-->Colors&Fonts-->General-->Save as -->雙擊Background(右上)後邊的框便可改變顏色
二:實現存在於工程目錄中的視頻播放(思路將按照個人項目實際過程來展開)
1:在Android 中播放視頻的方式有兩種: 

*第一種方式是使用MediaPlayer 結合SurfaceView 來播放,經過MediaPlayer來控制視頻的播放、暫停、進度等; 

經過SurfaceView 來顯示視頻內容; 
優勢:靈活性高,能夠進行自定義; 
缺點:難度比較大; 

*第二種方式是使用VideoView 來播放,這個類其實也是繼承了SurfaceView 類,而且實現了MediaController
MediaPlayerController 這個用於控制媒體播放的接口,另外在VideoView上還有一個用於對媒體播放進行控制 
的面板,包括快進、快退、播放、暫停按鈕以及一個進度條; 
優勢:比較簡單,能夠直接進行使用; 
缺點:靈活性不高; 
二、下面介紹VideoView的使用方法:
視頻路徑設置:
1 video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" + R.raw.cc_1));
2 video.start();
媒體控制面版經常使用方法:MediaController: 
* hide(); 隱藏MediaController; 
* show(); 顯示MediaController; 
* show(int timeout); 設置MediaController顯示的時間,以毫秒計算,若是設置爲0則一直到調用hide()時隱藏;
三:步驟
1:首先創建一個android studio工程
2:在res下面創建一個raw文件夾,將視頻放進去。  
3:而後編碼實現:源代碼參考:
seevideo.java:
 2 import java.io.File;
 3 import android.app.Activity;
 4 import android.content.Intent;
 5 import android.media.MediaPlayer;
 6 import android.media.MediaPlayer.OnCompletionListener;
 7 import android.net.Uri;
 8 import android.os.Bundle;
 9 import android.widget.MediaController;
10 import android.widget.RelativeLayout;
11 import android.widget.Toast;
12 import android.widget.VideoView;
13 public class seevideo extends Activity{
14 
15     private VideoView video;
16 
17     /** Called when the activity is firstcreated. */
18     @Override
19     public void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.video);
22        
23         video=(VideoView) findViewById(R.id.video);
24         MediaController mc=new MediaController(seevideo.this);       // 建立一個MediaController對象
25         video.setMediaController(mc);       // 將VideoView與MediaController關聯起來
26         video.setVideoURI(Uri.parse("android.resource://com.example.zhaowanlxx.xinxin/" + R.raw.cc_1));
27         video.requestFocus();       // 設置VideoView獲取焦點
28            
29         try {
30                video.start();      // 播放視頻
31             }catch(Exception e) {
32                 e.printStackTrace();
33             }
34 
35             // 設置VideoView的Completion事件監聽器
36             video.setOnCompletionListener(new OnCompletionListener() {
37                 @Override
38                 public void onCompletion(MediaPlayer mp) {
39                     Toast.makeText(seevideo.this, "視頻播放完畢!", Toast.LENGTH_SHORT).show();
40                     finish();
41                 }
42             });
43 
44 
45     }
46 
47 
48 }
video.xml:
 1 <?xml version="1.0" encoding="utf-8"?>
 2 <RelativeLayout  xmlns:android="http://schemas.android.com/apk/res/android"
 3 
 4 
 5     android:layout_width="match_parent"
 6     android:layout_height="match_parent"
 7     android:orientation="vertical" >
 8 
 9     <VideoView
10         android:id="@+id/video"
11         android:layout_width="match_parent"
12         android:layout_height="match_parent"
13         android:layout_gravity="center" />
14 
15 </RelativeLayout>

 

4:而後你會發現不少問題:
(1)想讓視頻全屏:
在Activity的onCreate方法中的setContentView(myview)調用以前添加下面代碼
1 requestWindowFeature(Window.FEATURE_NO_TITLE);//隱藏標題
2 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
3 WindowManager.LayoutParams.FLAG_FULLSCREEN);//設置全屏
(2)想橫屏觀看:
注:豎屏爲:SCREEN_ORIENTATION_PORTRAIT
     橫屏爲:SCREEN_ORIENTATION_LANDSCAPE
1 @Override
2 protected void onResume() {
3  /* 設置爲橫屏  */
4  if(getRequestedOrientation()!=ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE){
5   setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
6  }
7  super.onResume();
8 }
或者:在配置文件AndroidManifest.xml中對Activity節點添加android:screenOrientation屬性(landscape是橫向,portrait是縱向)
1  android:launchMode="singleTask" 
2 android:screenOrientation="portrait">
***關於Android中Activity的橫豎屏切換問題能夠經過AndroidManifest.xml文件中的Activity來配置:
 
 1 android:screenOrientation=["unspecified" | "user" | "behind" |
 2           "landscape" | "portrait" | 
 3           "sensor" | "nonsensor"]
 4 screenOrientation 用來指定Activity的在設備上顯示的方向,每一個值表明以下含義:
 5 "unspecified"    默認值 由系統來判斷顯示方向.斷定的策略是和設備相關的,因此不一樣的設備會有不一樣的顯示方向.
 6 "landscape"    橫屏顯示(寬比高要長)
 7 "portrait"    豎屏顯示(高比寬要長)
 8 "user"    用戶當前首選的方向
 9 "behind"    和該Activity下面的那個Activity的方向一致(在Activity堆棧中的)
10 "sensor"    有物理的感應器來決定。若是用戶旋轉設備這屏幕會橫豎屏切換。
11 "nosensor"    忽略物理感應器,這樣就不會隨着用戶旋轉設備而更改了 ( "unspecified"設置除外 )。
(3)不加任何旋轉屏幕的處理代碼的時候,旋轉屏幕將會致使系統把當前activity關閉。
解決:
若是隻是簡單的界面調整,咱們能夠阻止此問題的發生,屏幕旋轉而本身調整屏幕的元素重構。
 首先咱們須要修改AndroidManifest.xml文件:
 在activity中添加:
1 <activity>
2       android:configChanges="orientation|keyboard"
3 </activity>
這樣是讓程序可以響應旋轉屏幕的事件。
而後重寫onConfigurationChanged方法:
1 @Override
2 public void onConfigurationChanged(Configuration newConfig) {
3 // TODO Auto-generated method stub
4 super.onConfigurationChanged(newConfig);
5 Log.v(" == onConfigurationChanged");
6 processLayout();
7 }
相關文章
相關標籤/搜索