Android VideoView播放視訊豎屏切換橫屏有黑白邊無法全屏
問題描述:Android VideoView播放視訊豎屏切換橫屏有黑邊無法全屏
解決辦法是自定義VedioView,動態設定寬高。
* 1.自定義VedioView,並在onMeasure中新增
int width = getDefaultSize(0,widthMeasureSpec);
int height = getDefaultSize(0,heightMeasureSpec);
setMeasuredDimension(width,height);
完整程式碼如下
package vedioplay.csy.com.videoplay;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.VideoView;
/**
* Created by chenshouyin on 2017/10/22.
* 我的部落格:http://blog.csdn.net/e_inch_photo
* 我的Github:https://github.com/chenshouyin
*/
public class IVideoView extends VideoView {
public IVideoView(Context context) {
super(context);
}
public IVideoView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public IVideoView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super .onMeasure(widthMeasureSpec, heightMeasureSpec);
//此處設定的預設值可隨意,因為getDefaultSize中的size是有值的
int width = getDefaultSize(0,widthMeasureSpec);
int height = getDefaultSize(0,heightMeasureSpec);
setMeasuredDimension(width,height);
System.out.println("======onMeasure===width==="+width);
System.out.println("======onMeasure===height==="+height);
}
}
僅僅新增上述程式碼還是有問題,最底部還是有黑邊
- 2.再在程式碼中橫豎屏切換的時候新增
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DensityUtil.dip2px(CustomPlayStyleActivity.this,300));
mVideoView.setLayoutParams(params);
完整程式碼如下
/**
* 監聽螢幕方向改變
* @param newConfig
* 配置檔案配置了configChanges才會走次此回撥
*/
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//配置檔案中設定 android:configChanges="orientation|screenSize|keyboardHidden" 不然橫豎屏切換的時候重新建立又重新播放
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
mVideoView.setLayoutParams(params);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);//顯示頂部狀態列
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
}else if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT){
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, DensityUtil.dip2px(CustomPlayStyleActivity.this,300));
mVideoView.setLayoutParams(params);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);//全屏不 顯示頂部狀態列
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
}
System.out.println("======onConfigurationChanged===");
}
如果本文對你有幫助,就關注下作者吧,點此檢視全部最新文章
相關推薦
Android VideoView播放視訊豎屏切換橫屏有黑白邊無法全屏
問題描述:Android VideoView播放視訊豎屏切換橫屏有黑邊無法全屏 解決辦法是自定義VedioView,動態設定寬高。 * 1.自定義VedioView,並在onMeasur
android videoView播放視訊,對播放結束的監聽方法
android videoView播放視訊,對播放結束的監聽方法 VideoView videoView = (VideoView) findViewById(R.id.vv); MediaController controller = new MediaCont
Android VideoView播放視訊遇到的問題
1.檔案找不到 在指定檔案時,是將檔案通過eclipse pull到sdcard的,然後就想當然的寫 File file = new File(“sdcard/1.mp4”); 結果檔案找不到。原
Android VideoView播放本地視訊短暫黑屏的解決方法
新的大版本終於正式釋出了,整整三個月,做的心力交瘁,導致好久都沒有更新文章了。最近接觸了許多新的知識,也算是忙碌中有所收穫。希望接下來的時間工作上能夠稍微鬆緩一些,讓我可以利用在家的閒
Android VideoView播放avi格式視訊有聲音無影象問題
1.新增許可權: <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> <uses-permission android:name="android.
橫豎屏切換,控制每一個Controller的橫豎屏狀態 控制vc 進入的狀態橫屏或豎屏
橫豎屏切換,控制每一個Controller的橫豎屏狀態 寫在前面的話: 在網上看了看,發現大多數部落格都寫過,但是都會有些小問題。 結合資料和部落格總結和整理了一下 適合 ios7+ 第一步 首先保證工程支援橫豎屏 不多說看圖 保證圈紅的地方 打對勾 第二步 分
Android VideoView播放網路視訊簡介(轉)
最近專案中用到了很多視訊播放的地方,不管是聊天傳送的視訊訊息,還是類似內涵段子的視訊列表,都會涉及這些知識,不過網上的知識都很零散,一會找快取方法,一會找預覽圖片的方法,一會找視訊動態修改尺寸的方法,總之找的人好煩,所以自己寫一篇來記錄這些知識點,也方便別人查閱 獲取視訊首幀當預覽圖(MediaMetada
android videoview 播放前黑屏的解決方法之一
http://stackoverflow.com/questions/9765629/android-videoview-black-screen 播放前黑屏的原因是videoview載入資源需要一定的耗時, 如何避免播放前的黑屏現象呢, 可以給videoview設定載入的
Android VideoView播放raw內視訊
一個標點。。。浪費的時間。。。 用VideoView播放raw內的視訊,整了半天都報錯:Failed to open file 'android:resource://***/2131099649' 經過淡騰的查詢發現是個標點寫錯了android:resource應該寫成
Android VideoView播放網路視訊簡介
最近專案中用到了很多視訊播放的地方,不管是聊天傳送的視訊訊息,還是類似內涵段子的視訊列表,都會涉及這些知識,不過網上的知識都很零散,一會找快取方法,一會找預覽圖片的方法,一會找視訊動態修改尺寸的方法,總之找的人好煩,所以自己寫一篇來記錄這些知識點,也方便別人查閱獲取視訊首幀當
Android移動開發-使用VideoView播放視訊的實現
為了在Android應用中播放視訊,Android提供了VideoView控制元件,它就是一個位於android.widget包下的控制元件,它的作用與ImageView類似,只是ImageVie
Android開發之使用VideoView播放視訊
Android提供了 VideoView元件,它的作用與ImageView類似,只是ImageView用於顯示圖片,而VideoView用於播放視訊。 使用VideoView播放視訊的步驟如下: 1) 在介面佈局檔案中定義VideoView元件,或在
android videoview 播放之前短暫黑屏
最近在做視訊閃屏頁,但是遇到了一個困難 VideoView播放視訊的時候會出現黑屏,能夠清晰看到黑色的螢幕,很不美觀 照慣例,遇到問題先看有沒有網友解決過,發現了幾篇部落格 但是兩個部落格都沒有能解決我的問題,第一篇部落格提到的onInfo裡面的回
VideoView播放視訊黑屏問題處理
前言 你又擦肩而過 你耳機聽什麼 能不能告訴我 ……. 記得 我寫給你的情書 都什麼年代了 到現在我還在寫著 總有一天總有一年會發現 有人默默的陪在你的身邊 也許 我不該在你的世界 當你收到情書 也代表我已經走遠 簡介 Andro
android SurfaceView播放視訊
佈局檔案 <SurfaceView android:id="@+id/surfaceview" android:layout_width="match_parent" android:layo
Android的播放視訊功能
public class VodeoPlayActivity extends Activity { /** Called when the activity is first created. */ private EditText filenamEditText; private
VideoView播放視訊異常MediaPlayer: Error (1,-2147483648)
異常資訊如下: 05-28 23:19:52.019 15284-15284/com.softpo.videodemo E/dalvikvm: Could not find class 'android.os.PersistableBundle', ref
Android--SurfaceView播放視訊
前言 本篇部落格講解一下如何在Android下,使用SurfaceView播放一個視訊流媒體。之前有講到如何使用MediaPlayer播放音訊流媒體,其實MediaPlayer還可以播放視訊,只需需要SurfaceView的配合,SurfaceView主要用於顯示M
android webview播放視訊
Android WebView播放視訊問題(轉 測試可正常使用) 1、此次的方案用到WebView,而且其中會有視訊巢狀,在預設的WebView中直接播放視訊會有問題, 而且不同的SDK版本情況還不一樣,網上搜索了下解決方案,在此記錄下. webView.getSett
android Mediaplayer 播放視訊 只有聲音沒有畫面的問題
剛剛解決了 mediaplayer 和SurfaceView播放視訊 只有聲音沒有畫面的問題, 最終確定為,holder.setFixedSize(width,heigh); 設定解析度的方法,放在了 mediaplayer的回撥函式裡,導致沒有畫面, 把這個holder.