1. 程式人生 > >Android使用VideoView和MediaController播放網路視訊(包括橫豎排切換的處理)

Android使用VideoView和MediaController播放網路視訊(包括橫豎排切換的處理)

最基本的播放我這裡就不寫了,網上有很多教程。。。

我主要講幾個我在開發過程中遇到的我覺得比較重要的地方。。

1.videoview的佈局外面一定要套一層佈局,否則videoview和mediacontroller不能很好的融合在一起。

2. controller = new MediaController(this, false); 這裡設為false快進鍵和快退鍵就被隱藏了;

    controller.setPrevNextListeners(next,previous);設了這個監聽,下一曲上一曲按鍵才會出現,但是如果next或previous沒有設定監聽,那麼按鍵也只是可見而不可用。

3.  android:configChanges="orientation|keyboardHidden|screenSize" 這句話新增在manifest裡用於旋轉螢幕是不重新呼叫oncreate方法,android4.0以上的版本一定記得要加screenSize,否則無效。

4.另外就是activity裡需要重寫onConfigurationChanged方法,用於判斷當前螢幕的狀態,我們可以在這裡做一些操作,比如重新設定佈局的大小,寬高等。。

<pre name="code" class="java">public void onConfigurationChanged(Configuration newConfig) {
		// TODO Auto-generated method stub
		super.onConfigurationChanged(newConfig);
		if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
			//橫屏狀態是隱藏工作列
			//mHeight,mwidth分別為手機螢幕的高和寬
			getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN ,  
                    WindowManager.LayoutParams. FLAG_FULLSCREEN);
			
			LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
					(int) mHeight, (int) (mwidth));
			mVideoView.setLayoutParams(params);

		} else {
			//豎屏時顯示工作列,清楚flags
			getWindow().clearFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN);
			//我這裡是橫豎比例16:9,這個比例隨便多少,但一般是16:9,或者4:3
			LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(
					(int) mwidth, (int) (mwidth * 9 / 16));
			mVideoView.setLayoutParams(params);
		}
	}





相關推薦

Android使用VideoViewMediaController播放網路視訊包括橫豎切換處理

最基本的播放我這裡就不寫了,網上有很多教程。。。 我主要講幾個我在開發過程中遇到的我覺得比較重要的地方。。 1.videoview的佈局外面一定要套一層佈局,否則videoview和mediacontroller不能很好的融合在一起。 2. controller = ne

獲取碼值各種類型字符中、英的ASCII進制轉換系統包括正負數、小數

獲取碼值 進制轉換 十進制小數負數轉二進制 java進制轉換 ASCII 獲取碼值和進制轉換程序由來: 本人發現計算機中的計算器木有將十進制小數轉二進制的功能,後來發現一些網站將十進制負數轉二進制只是求出整數的二進制,然後前面加“-”,這種表示不是真正的負數二進制。於是愛較真兒

獲取碼值進制轉換系統包括正負數、小數

獲取碼值 進制轉換 十進制小數負數轉二進制 java進制轉換 ASCII 獲取碼值和進制轉換程序由來: 本人發現計算機中的計算器木有將十進制小數轉二進制的功能,後來發現一些網站將十進制負數轉二進制只是求出整數的二進制,然後前面加“-”,這種表示不是真正的負數二進制。於是愛較真兒

Android VideoView播放網路視訊簡介

最近專案中用到了很多視訊播放的地方,不管是聊天傳送的視訊訊息,還是類似內涵段子的視訊列表,都會涉及這些知識,不過網上的知識都很零散,一會找快取方法,一會找預覽圖片的方法,一會找視訊動態修改尺寸的方法,總之找的人好煩,所以自己寫一篇來記錄這些知識點,也方便別人查閱 獲取視訊首幀當預覽圖(MediaMetada

Android Multimedia框架總結MediaPlayer框架及播放網路視訊案例

前言:前面我們介紹MediaPlayer相關方法,有人說,沒有實際例子,看得不是很明白,今天在分析MediaPlayer時,順帶一個播放網路視訊例子。可以自行試試。同樣先看下今天的Agenda: Android中的MediaPlayer框架MediaPlayer播放視訊

Android提高第二十一篇之MediaPlayer播放網路視訊

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

iOS 不能播放遠端視訊Android 可以的問題

問題描述: 1、同樣的 url,Android 能放,iOS 不能放。後臺給的 url 是這個樣子(mp4檔案格式): http://192.168.80.102:28085/schcommonweb/weedfs/rdownload/[email p

OpenCV入門:初試牛刀 — 播放AVI視訊Mat

使用Mat, 播放AVI視訊 #include<opencv2/core/core.hpp> #include<opencv2/highgui/highgui.hpp> using namespace cv; int main() { VideoC

網路攻擊包括DDOS預防

一、攻擊方式 流量耗盡型,如TCP flood/udp flood/http flood(靜態頁面)等,主要是把我們的頻寬耗盡,對外服務中斷 CC攻擊,主要以業務效能耗盡(web或資料庫伺服器CPU)為目的,這種攻擊會模擬真實使用者業務請求資料,同時以大量分散式IP發起,很

Android VideoView播放網路視訊簡介

最近專案中用到了很多視訊播放的地方,不管是聊天傳送的視訊訊息,還是類似內涵段子的視訊列表,都會涉及這些知識,不過網上的知識都很零散,一會找快取方法,一會找預覽圖片的方法,一會找視訊動態修改尺寸的方法,總之找的人好煩,所以自己寫一篇來記錄這些知識點,也方便別人查閱獲取視訊首幀當

Android MediaPlayer 在API 28的手機上播放本地視訊正常,播放網路視訊,報錯:what=1, extra=-2147483648

在Android開發視訊播放器的過程中,發現一個怪異的Bug: 我是採用MediaPlayer+GLSurface實現的視訊播放器,並且作為依賴庫在Module中開發的。我利用下面的程式碼設定播放源: MediaPlayer mediaPlayer = new Media

Android使用VideoView播放網路視訊,獲取網路視訊縮圖

`/** * 本例項演示如何在Android中播放網路上的視訊,這裡牽涉到視訊傳輸協議,視訊編解碼等知識點 * @author Administrator *Android當前支援兩種協議來傳輸視訊流一種是Http協議,另一種是RTSP協議 *Http協議

Android之MediaPlayer播放網路視訊的實現方法

前段時間忙於工作,現在有時間來分享一下: 這篇文章主要介紹了Android的MediaPlayer播放網路視訊的實現方法,是一個非常實用的功能,需要的朋友可以參考下 前面講解了MediaPlayer播放網路音訊,主要介紹了MediaPlayer關於網路音訊

yolov3執行及儲存檢測視訊包括攝像頭

新程式碼:可用,如果不想在老程式碼上折騰更改,可以直接根據下面的新地址拉取程式碼。  (注意看Readme) --------------------更新20180703----------------- 由於以前上傳的專案有點點小問題,完整更新專案及說明如下連結。

感知器神經網路訓練公式推導及C++實現

感知器 感知器是一個二元線性分類器,其目標是找到一個超平面將訓練樣本進行分隔(分類),其表示為 一般使用的啟用函式不是階躍函式,常用的有sigmoid函式(其導數: σ′=σ(1−σ)) 在1個樣本的訓練集上代價函式(最小均方誤差)通常為 C=1

springmybatis的整合配置包括springmvc

1)建立一個spring-mybaits-oracle這麼一個javaweb或java工程 2)匯入spring,mybatis,c3p0,oracle和mybatis提供的與spring整合的外掛包    mysql的jar: mysql-connect

HTML5線上播放本地視訊IE9以上的瀏覽器

<!DOCTYPE HTML ><html><head><title>Html5視訊播放</title><meta http-equiv="keywords" content="keyword1,keyword

Linux C 讀取文件夾下所有文件包括子文件夾的文件名(轉)

文件中 其中 文件類型 sizeof basepath 文件 lose sed int Linux C 下面讀取文件夾要用到結構體struct dirent,在頭#include <dirent.h>中,如下: 1 #include <dirent.h

JavaScript中離線應用客戶端存儲cookies、sessionStorage、localStorage

getc 帶寬 元素 locals back cookie 代碼 無形中 空間名 一、離線應用 所謂離線web應用,就是在設備不能上網的情況下仍然可以運行的應用。 開發離線web應用需要幾個步驟:首先,確保應用知道設備是否能上網,以便下一步執行正確的操作;然後,應用還必須能

Storm集群上的開發 ,Topology任務的編寫 之 WordCount SpoutBlot的分組策略一張圖說明問題

topology 技術 流動 .com orm 使用 不同的 alt 分組 Storm的數據從Spout采集後,交給Blot組件處理,數據在Blot之間流動時,會涉及到數據流動的方向。這就是Storm的分組策略。 從WordCount的單詞拆分到單詞計數,會使用按字段的分組