android實(shí)現(xiàn)視頻全屏播放,開始加入了進(jìn)度等待和隨時(shí)更換影片底色,判斷用戶屏幕方向,根據(jù)用戶屏幕方向給出正確的視頻資源,來(lái)更好的播放視頻。
實(shí)現(xiàn)影片全屏播放視頻,就是把頭部信息去掉,其方法是:
。。。
//去掉頭信息
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.videoview);
。。。
注意:一定要在setContentView之前加入上面的信息。不然不會(huì)實(shí)現(xiàn)其效果。
影片加載需要一定的時(shí)間,在這是利用進(jìn)度條顯示給用戶,××影片正在加載。實(shí)現(xiàn)方法如下:
在創(chuàng)建VideoView之后,實(shí)現(xiàn)進(jìn)度框顯示
。。。
//創(chuàng)建進(jìn)度條
dialog=ProgressDialog.show(this, "正在加載…", "三槍馬上開始");
。。。
在影片加載完畢,開始播放時(shí),銷毀進(jìn)度條
dialog.dismiss();
實(shí)現(xiàn)的效果如下:

在實(shí)現(xiàn)全屏顯示之后,就要根據(jù)用戶當(dāng)前手機(jī)屏幕方向,給用戶適合手機(jī)屏幕大小的視頻資源。判斷手機(jī)橫豎屏的方法是,取得手機(jī)的寬和高,根據(jù)長(zhǎng)寬比判斷手機(jī)是處于什么狀態(tài):
…
//判斷手機(jī)屏幕的方向
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
width=dm.widthPixels;
heigh=dm.heightPixels;
if(width/heigh>0)
{
//橫屏
path = bundle.getString("widthurl");
}
if(width/heigh==0)
{
//豎屏
path = bundle.getString("heighturl");
}
…
實(shí)現(xiàn)的效果如下:

源代碼:http://easymorse.googlecode.com/svn/tags/android.customer.player-0.5