Android移動應用開發(fā)案例教程(模塊四 實現(xiàn)視頻播放)_第1頁
Android移動應用開發(fā)案例教程(模塊四 實現(xiàn)視頻播放)_第2頁
Android移動應用開發(fā)案例教程(模塊四 實現(xiàn)視頻播放)_第3頁
Android移動應用開發(fā)案例教程(模塊四 實現(xiàn)視頻播放)_第4頁
Android移動應用開發(fā)案例教程(模塊四 實現(xiàn)視頻播放)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Android移動應用開發(fā)案例教程模塊四實現(xiàn)視頻播放任務1播放上/下一個視頻任務2SeekBar調(diào)整聲音大小任務3開/鎖屏的實現(xiàn)任務4橫豎屏切換任務5拍照功能

任務1播放下一個視頻核心代碼:privatevoidplayNextVideo(){if(position<mediaItems.size()-1){position++;//position=position+1mediaItem=mediaItems.get(position);vv_player.setVideoPath(mediaItem.getData());setButton();//設(shè)置按鈕狀態(tài)}}思路:在全局變量中記錄當前播放視頻的position,當點擊

按鈕時position++,再將自加后的視頻地址設(shè)置給videoview控件。再后別忘記最后一個視頻位置判斷,如果當前為最后一個視頻時位置不能自加,并且要調(diào)用設(shè)置按鈕狀態(tài)的方法。任務1播放上一個視頻核心代碼:privatevoidplayPreVideo(){if(position>=0){position--;//position=position-1mediaItem=mediaItems.get(position);vv_player.setVideoPath(mediaItem.getData());setButton();//設(shè)置按鈕狀態(tài)}}思路:在全局變量中記錄當前播放視頻的position,當點擊

按鈕時position--,再將自加后的視頻地址設(shè)置給videoview控件。再后別忘記第一個視頻位置判斷,如果當前為第一個視頻時位置不能自減,并且要調(diào)用設(shè)置按鈕狀態(tài)的方法。任務2SeekBar調(diào)整聲音的大小核心代碼://實例化音量管理audioManager=(AudioManager)getSystemService(AUDIO_SERVICE);//得到當前的音量currentVolume=audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);maxVolume=audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);seekbar_voice.setProgress(currentVolume);//為SeekBar設(shè)置當前音量seekbar_voice.setMax(maxVolume);//為SeekBar設(shè)置最大音量思路:定義AudioManager的對象,取得最大音量值和當前音量值分別設(shè)置給seekBar的最大值和當前值,再為seekBar注冊事件監(jiān)聽,當進度改變時修改媒體的當前音量。任務3開/鎖屏實現(xiàn)核心代碼:if(!lock){//如果當前是開屏狀態(tài)rl_root.setVisibility(View.GONE);iv_unlock.setImageResource(R.drawable.lock);lock2=true;lock=true;}else{rl_root.setVisibility(View.VISIBLE);iv_unlock.setImageResource(R.drawable.unlock);handler.removeMessages(2);handler.sendEmptyMessageDelayed(2,5000);lock=false;lock2=false;}思路:為布局中的鎖屏圖片添加事件監(jiān)聽。定義一個boolean全局變量,在單擊事件監(jiān)聽中完成以下內(nèi)容:設(shè)置控制面板可見/不可見;并切換鎖屏/開屏圖片;改變?nèi)肿兞康闹祎rue/false;另外需要注意的是后期為VideoView注冊手勢事件監(jiān)聽后,在開/鎖屏按鈕中要進行修改,即鎖屏時手勢事件監(jiān)聽也不起作用。任務4橫豎屏切換核心代碼:voidlandscape(){//橫屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);Constraints.LayoutParamslayoutParams=newConstraints.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);rl.setLayoutParams(layoutParams);//設(shè)置視頻顯示和控件面板區(qū)域的尺寸DisplayMetricsdisplayMetrics=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);screenWidth=displayMetrics.widthPixels;//屏幕的寬screenHeight=displayMetrics.heightPixels;//屏幕的高RelativeLayout.LayoutParamslayoutParams1=newRelativeLayout.LayoutParams(screenWidth,screenHeight);rl_root.setLayoutParams(layoutParams1);//設(shè)置控件面板的尺寸tv_content.setVisibility(View.GONE);//設(shè)置視頻下面的區(qū)域不顯示vv_player.setVideoSize(screenWidth,screenHeight);//將視頻全屏}思路:為橫屏圖片注冊單擊事件監(jiān)聽,完成以下內(nèi)容:獲取手機屏幕的寬和高值;將控制面板界面的根布局寬、高和VideoView控件的寬、高都設(shè)置為屏幕的寬和高值;將豎屏時窗口下面的布局內(nèi)容隱藏。任務4橫豎屏切換核心代碼:voidportrait(){//豎屏setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);DisplayMetricsdisplayMetrics=newDisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);screenWidth=displayMetrics.widthPixels;//屏幕的寬screenHeight=displayMetrics.heightPixels;//屏幕的高Constraints.LayoutParamslayoutParams=newConstraints.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,0);rl.setLayoutParams(layoutParams);tv_content.setVisibility(View.VISIBLE);RelativeLayout.LayoutParamslayoutParams1=newRelativeLayout.LayoutParams(screenWidth,screenWidth/2);rl_root.setLayoutParams(layoutParams1);vv_player.setVideoSize(screenWidth,screenWidth/2);思路:為豎屏圖片注冊單擊事件監(jiān)聽,完成以下內(nèi)容:獲取手機屏幕的寬和高值;將控制面板界面的根布局寬、高和VideoView控件的寬、高都設(shè)置為屏幕的寬度值和高度值/2;將豎屏時窗口下面的布局內(nèi)容顯示出來。任務7視頻播放時的拍照功能核心代碼:MediaMetadataRetrievermedia=newMediaMetadataRetriever();media.setDataSource(mediaItem.getData());Bitmapbitmap=media.getFrameAtTime(vv_player.getCurrentPosition()*1000,MediaMetadataRetriever.OPTION_CLOSEST_SYNC);Toast.makeText(System

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論