Android视频压缩并且上传
一,做視頻上傳首先第一步要從相冊里選取視頻,這一步。我的上篇博客中已經(jīng)講過了。
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == 66 && resultCode == RESULT_OK && null != data) {Uri selectedVideo = data.getData();String[] filePathColumn = {MediaStore.Video.Media.DATA};Cursor cursor = getContentResolver().query(selectedVideo,filePathColumn, null, null, null);cursor.moveToFirst();int columnIndex = cursor.getColumnIndex(filePathColumn[0]);String videopath = cursor.getString(columnIndex);cursor.close();submit_vd_ad.setText(VIDEOPATH);}if (resultCode != Activity.RESULT_OK) {return;} }看這里的代碼videopath ,就是選擇好視頻后的地址了。
二,得到了視頻的地址,我們一般就要對視頻進行壓縮了,也就是我們今天的重點。
視頻壓縮,網(wǎng)上的例子和demo五花八門,比比皆是。但是你下載下來,一運行總是存在這樣那樣的問題,無法滿足自己的需求。可能你差一步就成功了,但是最終你還是有不明白的地方放棄了。
今天android君,就給大家推薦一個非常好用的視頻壓縮工具,并且是踩完坑的介紹。呵呵
這里先附上庫的github鏈接地址:https://github.com/Tourenathan-G5organisation/SiliCompressor。
自己親自試了一下,壓縮的速度還挺快的,而且壓縮完視頻清晰度也是不錯的,極力推薦使用,最主要的是使用也很方便就是一句代碼的事,并附帶加上注意事項(非常重要)
這里有兩個問題需要注意:1,就是要放到子線程執(zhí)行。
2,(重要):都看到只需要執(zhí)行一行代碼,但是里面的參數(shù)你弄懂了嗎。第一個參數(shù)一目了然不需多講,就是我們返回的文件地址。
第二個參數(shù)是壓縮后保存的路徑,注意這個地址一定要是你目錄中存在的,這個地址你如果寫不對基本你就會一直搞不對。例如你的地址是storage/0,那么返回的comPressPath就是storage/0/xxx;
你如果真沒弄對弄懂。就這樣寫肯定沒錯。
好了,講到這里就可以上傳了。你們可以參考我的demo;
demo中用了原生HttpURLConnection提交文件上傳(用的這種)和okttp兩種方式(我注釋掉了,可以直接打開);
有問題歡迎留言,稍后奉上demo下載地址和項目截圖;
地址:https://download.csdn.net/download/heishuai123/10816897
轉(zhuǎn)載于:https://www.cnblogs.com/wzqnxd/p/10038881.html
總結(jié)
以上是生活随笔為你收集整理的Android视频压缩并且上传的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前线观察 | AWS re:Inven
- 下一篇: Flutter Android/iOS包