Android视频压缩并且上传
一,做視頻上傳首先第一步要從相冊(cè)里選取視頻,這一步。我的上篇博客中已經(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 ,就是選擇好視頻后的地址了。
二,得到了視頻的地址,我們一般就要對(duì)視頻進(jìn)行壓縮了,也就是我們今天的重點(diǎn)。
視頻壓縮,網(wǎng)上的例子和demo五花八門,比比皆是。但是你下載下來,一運(yùn)行總是存在這樣那樣的問題,無法滿足自己的需求。可能你差一步就成功了,但是最終你還是有不明白的地方放棄了。
今天android君,就給大家推薦一個(gè)非常好用的視頻壓縮工具,并且是踩完坑的介紹。呵呵
這里先附上庫(kù)的github鏈接地址:https://github.com/Tourenathan-G5organisation/SiliCompressor。
自己親自試了一下,壓縮的速度還挺快的,而且壓縮完視頻清晰度也是不錯(cuò)的,極力推薦使用,最主要的是使用也很方便就是一句代碼的事,并附帶加上注意事項(xiàng)(非常重要)
這里有兩個(gè)問題需要注意:1,就是要放到子線程執(zhí)行。
2,(重要):都看到只需要執(zhí)行一行代碼,但是里面的參數(shù)你弄懂了嗎。第一個(gè)參數(shù)一目了然不需多講,就是我們返回的文件地址。
第二個(gè)參數(shù)是壓縮后保存的路徑,注意這個(gè)地址一定要是你目錄中存在的,這個(gè)地址你如果寫不對(duì)基本你就會(huì)一直搞不對(duì)。例如你的地址是storage/0,那么返回的comPressPath就是storage/0/xxx;
你如果真沒弄對(duì)弄懂。就這樣寫肯定沒錯(cuò)。
好了,講到這里就可以上傳了。你們可以參考我的demo;
demo中用了原生HttpURLConnection提交文件上傳(用的這種)和okttp兩種方式(我注釋掉了,可以直接打開);
有問題歡迎留言,稍后奉上demo下載地址和項(xiàng)目截圖;
地址:https://download.csdn.net/download/heishuai123/10816897
轉(zhuǎn)載于:https://www.cnblogs.com/wzqnxd/p/10038881.html
總結(jié)
以上是生活随笔為你收集整理的Android视频压缩并且上传的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前线观察 | AWS re:Inven
- 下一篇: 常州大学阿里云大数据学院举行“创新思维”