freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于android的視頻播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文-資料下載頁

2025-06-28 00:41本頁面
  

【正文】 業(yè)論文27附 錄以下是部分功能的源代碼及相關(guān)注釋:private void getFileDir(String filePath)//獲得文件路徑{(filePath)。items = new ArrayListString()。paths = new ArrayListString()。File f = new File(filePath)。File[] files = ()。if (!(rootPath)||files==null){(b1)。(rootPath)。(b2)。(())。}if(files!=null){for (int i = 0。 i 。 i++) {File file = files[i]。(())。(())。}}setListAdapter(new FileAdapter(this, items, paths))。}//SurfaceView 觸摸監(jiān)聽類class TouchListener implements OnTouchListener{@Overridepublic boolean onTouch(View v, MotionEvent event) {if(() == )//觸摸屏幕時(shí)停止播放并顯示停止控件{ if(()) {()。合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文28pause = true。()。 }return true。}return false。}}//SeekBar監(jiān)聽類 Private class SeekBarListener implements { int startPosition。@Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser){(new TimeFormate(()).formatetime())。}@Overridepublic void onStartTrackingTouch(SeekBar seekBar){startPosition=()。}@Overridepublic void onStopTrackingTouch(SeekBar seekBar) //當(dāng)用戶結(jié)束對(duì)滑塊的滑動(dòng)時(shí),將mediaPlayer播放位置設(shè)為滑塊結(jié)束對(duì)應(yīng)位置{(new TimeFormate(()).formatetime())。if(()) (())。else (startPosition)。} }//自 動(dòng) 搜索視頻 文件模塊private void showUpdateDialog() //顯示等待對(duì)話框{dialog = new ProgressDialog(this)。(請(qǐng)稍后)。// 設(shè)置ProgressDialog 標(biāo)題(正在掃描存儲(chǔ)卡......)。 // 設(shè)置ProgressDialog提示信息合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文29()。// 設(shè)置ProgressDialog標(biāo)題圖標(biāo)()。// 設(shè)置進(jìn)度條風(fēng)格,風(fēng)格為圓形,旋轉(zhuǎn)的 (false)。// 設(shè)置ProgressDialog 的進(jìn)度條是否不明確 false 就是不 設(shè)置為不明確 (true)。 // 設(shè)置ProgressDialog 是否可以按退回鍵取消 ()。String rootpath=().getPath()。new Thread(new UpdateThread(rootpath)).start()。//啟動(dòng)子線程,在子線程中掃描SD 卡}class UpdateThread implements Runnable{private String rootpath。public UpdateThread(String rootpath) { = rootpath。}@Overridepublic void run() {int count=(rootpath)。//掃描SD卡上的視頻文件()。Message msg=()。Bundle bundle=()。(count, count)。(bundle)。(msg)。//掃描完畢發(fā)送消息,給出提示}}Handler handler=new Handler(){@Overridepublic void handleMessage(Message msg) {int count=().getInt(count)。(, 共更新了+count+條記錄,請(qǐng)點(diǎn)擊查看列表按鈕查看, 1).show()。}}。合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文30public class SDCardMedia { private ContentResolver contentResolver。 private static ListString pathList。 private static ListMapString, Object videoDataList。 static { videoDataList = new ArrayListMapString, Object()。 pathList=new ArrayListString()。 }public SDCardMedia(Context context) {contentResolver = ()。 }/** * 獲取SD卡的所有視頻 信息 */public ListMapString, Object getAllVideos(){ //String[] projection = new String[]{}。/*第一個(gè)參數(shù) 為訪問 Provider的路徑, * 第二個(gè)參數(shù) 為查詢 的列,null表示所有信息, * 第三個(gè)參數(shù) 為查詢 條件(通常是where xx=?的形式) ,null表示沒有查詢條件即查詢所有 * 第四個(gè)參數(shù) 為第三個(gè)參數(shù)中 ?的值(是String數(shù)組) ,null表示沒有 * 第五個(gè)參數(shù)是排序 * */Cursor videoCursor = (, null, null,null, )。 while(()) { String title = ((E))。 String type = ((_TYPE))。 long size = (())。 String path =((A))。 MapString, Object videoMap = new HashMapString, Object()。合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文31 (title, title)。 (type, type)。 (size, size)。 (path, path)。 if(())//第一次添加時(shí)videoDataList為空 { (videoMap)。 (path)。 } else//之前添加過 { if(!(path))//再次添加的文件不在列表中 { (path)。 (videoMap)。 } } } ()。 if(!())//如果用戶手動(dòng)刪除了SD 卡上的文件則將該信息從列表中刪除 { for (int i = 0。 i ()。 i++) { File file=new File((i))。 if(!()) { (i)。 (i)。 }} } return videoDataList。}public static boolean addVideos(String[] filepaths){boolean exist=true。long size=0。String title=null。String path=null。String type=null。for (int i = 0。 i 。 i++) {File file=new File(filepaths[i])。if(())合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文32{if(!(filepaths[i])){size=()。title=().substring(0,().lastIndexOf(.))。path=filepaths[i]。type=video/+((.)+1).toLowerCase()。MapString, Object videoMap = new HashMapString, Object()。(title, title)。 (type, type)。 (size, size)。 (path, path)。 (videoMap)。 (path)。 exist=false。}}} return exist。}public static String[] getAllPaths() {String[] paths=null。if(!()){paths=new String[()]。for (int i = 0。 i ()。 i++) {paths[i] = (i)。}return paths。}return null。}public static int scanSDMedia(String rootpath){int count=0。long size=0。String title=null。String path=null。String type=null。合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文33File f = new File(rootpath)。File[] files = ()。if(files!=null){for (int i = 0。 i 。 i++) {File file = files[i]。if(())count+=scanSDMedia(())。else{if(getMIMEType(files[i]).equals(video)){path=()。if(!(path)){title=().substring(0,().lastIndexOf(.))。type=video/+((.)+1).toLowerCase()。size=()。MapString, Object videoMap = new HashMapString, Object()。(title, title)。 (type, type)。 (size, size)。 (path, path)。 (videoMap)。 (path)。 count++。}}} }return count。}else return 0。}private static String getMIMEType(File f) {String type = 。String fName = ()。String end = ((.) + 1, 合肥學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系畢業(yè)論文34()).toLowerCase()。if ((m4a) || (mp3) || (mid)|| (xmf) || (ogg) || (wav)){type = audio。} else if ((3gp) || (mp4)||(rmvb)||(avi)|| (flv)||(rm)||(mkv)) {type = video。} else if ((jpg) || (gif) || (png)|| (jpeg) || (bmp)){type = image。} else {type = *。}return type。}}
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1