Android 使用Vitamio打造自己的萬(wàn)能播放器(8)——細(xì)節(jié)優(yōu)化
前言
成功的產(chǎn)品往往在細(xì)節(jié)之處也做到極致,產(chǎn)品和項(xiàng)目從使用的角度來看最大的區(qū)別我認(rèn)為也就是細(xì)節(jié)的處理上。開播視頻的目標(biāo)是產(chǎn)品,前面7篇文章高歌猛進(jìn),添加了很多的功能,也該停下來休整一下,優(yōu)化一下,也歡迎交流反饋?zhàn)龅貌恢艿降牡胤?。由于開源,大家也可以按照自己的喜好來添加修改不同的功能和細(xì)節(jié)。
系列
1、Android 使用Vitamio打造自己的萬(wàn)能播放器(1)——準(zhǔn)備
2、Android 使用Vitamio打造自己的萬(wàn)能播放器(2)—— 手勢(shì)控制亮度、音量、縮放
3、Android 使用Vitamio打造自己的萬(wàn)能播放器(3)——本地播放(主界面、視頻列表)
4、Android 使用Vitamio打造自己的萬(wàn)能播放器(4)——本地播放(快捷搜索、數(shù)據(jù)存儲(chǔ))
5、Android 使用Vitamio打造自己的萬(wàn)能播放器(5)——在線播放(播放優(yōu)酷視頻)
6、Android 使用Vitamio打造自己的萬(wàn)能播放器(6)——在線播放(播放列表)
7、Android 使用Vitamio打造自己的萬(wàn)能播放器(7)——在線播放(下載視頻)
正文
一、更新日志
1. 新增:顯示SDCard剩余空間
如果SD卡容量有限,而且經(jīng)常使用下載視頻,對(duì)剩余空間比較關(guān)注。如圖:
代碼網(wǎng)上找的,也有在項(xiàng)目里用過的:
public static String showFileSize(long size) { String fileSize; if (size < KB) fileSize = size + "B"; else if (size < MB) fileSize = String.format("%.1f", size / KB) + "KB"; else if (size < GB) fileSize = String.format("%.1f", size / MB) + "MB"; else fileSize = String.format("%.1f", size / GB) + "GB"; return fileSize; } /** 顯示SD卡剩余空間 */ public static String showFileAvailable() { String result = ""; if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) { StatFs sf = new StatFs(Environment.getExternalStorageDirectory().getPath()); long blockSize = sf.getBlockSize(); long blockCount = sf.getBlockCount(); long availCount = sf.getAvailableBlocks(); return showFileSize(availCount * blockSize) + " / " + showFileSize(blockSize * blockCount); } return result; }
2. 改進(jìn):加載網(wǎng)頁(yè)時(shí)顯示正在加載效果
未改之前每次進(jìn)入網(wǎng)頁(yè)都會(huì)空白一片,加載完后才顯示出來,體驗(yàn)較差。
3. 改進(jìn):在線視頻欄目在多個(gè)網(wǎng)站之間切換時(shí)后退混亂的問題
未改前使用WebView默認(rèn)的前進(jìn)后退功能,使用中發(fā)現(xiàn)切換后還是會(huì)出現(xiàn)后退混亂的狀況。注意clearHistory不能清除當(dāng)前的url。修改參照帖子,這里。 注意需要判斷鏈接是否相同,即:
if (!mHistory.contains(url)) mHistory.add(0, url);
4. 新增:顯示正在加載的url
5. 新增:刪除、重命名視頻文件
基礎(chǔ)功能:
/** 刪除文件 */ private void deleteFile(final FileAdapter adapter, final PFile f, final int position) { new AlertDialog.Builder(getActivity()).setIcon(android.R.drawable.ic_dialog_alert).setTitle(R.string.file_delete).setMessage(getString(R.string.file_delete_confirm, f.title)).setNegativeButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { try { File file = new File(f.path); if (file.canRead() && file.exists()) file.delete(); FileBusiness.deleteFile(getActivity(), f); adapter.delete(position); } catch (Exception e) { } } }).setPositiveButton(android.R.string.no, null).show(); } /** 重命名文件 */ private void renameFile(final FileAdapter adapter, final PFile f, final int position) { final EditText et = new EditText(getActivity()); et.setText(f.title); new AlertDialog.Builder(getActivity()).setTitle(R.string.file_rename).setIcon(android.R.drawable.ic_dialog_info).setView(et).setNegativeButton(android.R.string.yes, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String name = et.getText().toString().trim(); if (name == null || name.trim().equals("") || name.trim().equals(f.title)) return; try { File fromFile = new File(f.path); File nf = new File(fromFile.getParent(), name.trim()); if (nf.exists()) { Toast.makeText(getActivity(), R.string.file_rename_exists, Toast.LENGTH_LONG).show(); } else if (fromFile.renameTo(nf)) { f.title = name; f.path = nf.getPath(); FileBusiness.renameFile(getActivity(), f); adapter.notifyDataSetChanged(); } } catch (SecurityException se) { Toast.makeText(getActivity(), R.string.file_rename_failed, Toast.LENGTH_LONG).show(); } } }).setPositiveButton(android.R.string.no, null).show(); }
6. 修正:使用WebView播放視頻時(shí)無法關(guān)閉的問題
使用瀏覽器的flash插件播放視頻時(shí)可能會(huì)有此問題。
7. 改進(jìn):下載視頻顯示對(duì)應(yīng)視頻標(biāo)題名稱
未改前下載視頻為一長(zhǎng)串?dāng)?shù)字。
三、下載
至本章節(jié)往后,代碼均不再提供下載,請(qǐng)移步Google Code:
http://code.google.com/p/android-oplayer
無法訪問請(qǐng)嘗試地址:https://over140@android-oplayer.googlecode.com/hg/ ,參照這里。
以上就是對(duì)Android Vitamio開發(fā)播放器細(xì)節(jié)優(yōu)化部分,后續(xù)繼續(xù)補(bǔ)充。
- Android 使用Vitamio打造自己的萬(wàn)能播放器(10)—— 本地播放 (縮略圖、視頻信息、視頻掃描服務(wù))
- Android 使用Vitamio打造自己的萬(wàn)能播放器(9)—— 在線播放 (在線電視)
- Android 使用Vitamio打造自己的萬(wàn)能播放器(7)——在線播放(下載視頻)
- Android 使用Vitamio打造自己的萬(wàn)能播放器(6)——在線播放(播放列表)
- Android 使用Vitamio打造自己的萬(wàn)能播放器(5)——在線播放(播放優(yōu)酷視頻)
- Android 使用Vitamio打造自己的萬(wàn)能播放器(4)——本地播放(快捷搜索、數(shù)據(jù)存儲(chǔ))
- Android 使用Vitamio打造自己的萬(wàn)能播放器(3)——本地播放(主界面、播放列表)
- Android 使用Vitamio打造自己的萬(wàn)能播放器(2)—— 手勢(shì)控制亮度、音量、縮放
- Android 使用Vitamio打造自己的萬(wàn)能播放器(1)——準(zhǔn)備
- Android使用vitamio插件實(shí)現(xiàn)視頻播放器
相關(guān)文章
Android?Studio實(shí)現(xiàn)簡(jiǎn)單頁(yè)面跳轉(zhuǎn)的詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于Android?Studio實(shí)現(xiàn)簡(jiǎn)單頁(yè)面跳轉(zhuǎn)的詳細(xì)教程,文中通過圖文介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Android?Studio具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-01-01Android實(shí)現(xiàn)橫向滑動(dòng)卡片效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)橫向滑動(dòng)卡片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12Android自定義橫向滑動(dòng)菜單的實(shí)現(xiàn)
這篇文章主要介紹了Android自定義橫向滑動(dòng)菜單的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-05-05Android 簡(jiǎn)單實(shí)現(xiàn)倒計(jì)時(shí)功能
在 Android 中倒計(jì)時(shí)功能是比較常用的一個(gè)功能,比如短信驗(yàn)證碼,付款倒計(jì)時(shí)等。今天小編給大家分享Android 簡(jiǎn)單實(shí)現(xiàn)倒計(jì)時(shí)功能,感興趣的朋友一起看看吧2019-12-12Android App實(shí)現(xiàn)應(yīng)用內(nèi)部自動(dòng)更新的最基本方法示例
這篇文章主要介紹了實(shí)現(xiàn)Android App內(nèi)部自動(dòng)更新的最基本方法示例,包括IIS服務(wù)器端的簡(jiǎn)單布置,需要的朋友可以參考下2016-03-03Android 第三方應(yīng)用接入微信平臺(tái)研究情況分享(一)
微信平臺(tái)開放后倒是挺火的,許多第三方應(yīng)用都想試下接入微信這個(gè)平臺(tái),畢竟可以利用微信建立起來的關(guān)系鏈來拓展自己的應(yīng)用還是挺不錯(cuò)的 最近由于實(shí)習(xí)需要也在研究這個(gè)東西,這里把我的整個(gè)研究情況給出來2013-01-01Android自定義View之簡(jiǎn)約風(fēng)歌詞控件實(shí)戰(zhàn)指南
一些接觸Android不久的朋友對(duì)自定義View都有一絲畏懼感,總感覺這是一個(gè)比較高級(jí)的技術(shù),但其實(shí)自定義View并不復(fù)雜,有時(shí)候只需要簡(jiǎn)單幾行代碼就可以完成了,這篇文章主要給大家介紹了關(guān)于Android自定義View之簡(jiǎn)約風(fēng)歌詞控件的相關(guān)資料,需要的朋友可以參考下2021-07-07使用SurfaceView實(shí)現(xiàn)視頻彈幕
這篇文章主要為大家詳細(xì)介紹了使用SurfaceView實(shí)現(xiàn)視頻彈幕,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11Android實(shí)現(xiàn)掃一掃識(shí)別數(shù)字功能
這篇文章主要介紹了Android實(shí)現(xiàn)掃一掃識(shí)別數(shù)字功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-09-09Android 中Failed to read key from keystore解決辦法
這篇文章主要介紹了Android 中Failed to read key from keystore解決辦法的相關(guān)資料,希望通過本能幫助到大家,需要的朋友可以參考下2017-09-09