Ⅰ android調用系統相機實現拍照和視頻錄制
(1)申請許可權
(2)設置布局
這里做了一個簡單的布局:添加了一個按鈕和一個ImageView控制項用於顯示拍攝的圖像。
(3)為按鈕添加點擊事件監聽
點擊按鈕時,調用系統相機進行拍照,並在確定後將圖像顯示在ImageView控制項中。
(1)申請許可權
(2)設置布局
添加了一個按鈕和一個VideoView控制項用於顯示錄制的視頻。
(3)為按鈕添加點擊事件監聽
同前面一樣,點擊按鈕後調用系統相機進行錄制視頻,錄制完成後點擊確定即可將錄制的視頻顯示在VideoView控制項中。
對於Android11.0的版本,在調用系統相近進行視頻錄制的時候,即使在AndroidMenifest.xml中申請了CAMERA許可權,還是會在程序運行時報錯: Permission Denial , . .... .... with revoked permission android.permission.CAMERA
解決方法是在程序中動態申請許可權:
寫在最後:文章是在學習過程中做的學習筆記,同時與志同道合者分享,文章內容均經過我自己實驗證實可行,如有問題歡迎留言,很高興一起交流討論,共同進步!
Ⅱ android 阿里雲短視頻上傳,混淆代碼是什麼
是否集成了第三方SDK,查看是否是其它SDk混淆導致的。
關於代碼混淆注意事項
摘要:若使用studio新建項目,會自動生成混淆的相關文件,已經入過很多坑,有幾點需注意。1.作為library的mole,不可進行混淆,否則其他mole無法引用,因為會找不到其中被混淆的類,可在主mole中配置混淆.2.注意項目中的bean,尤其是實現Serializable介面的類,在用bundle傳輸時會出現的問題,必須keep其變數:keepclassmembersclass*implementsjava.io.Serializable{*;}3.一定要keep
若使用studio新建項目,會自動生成混淆的相關文件,已經入過很多坑,有幾點需注意。
1.作為library的mole,不可進行混淆,否則其他mole無法引用,因為會找不到其中被混淆的類,可在主mole中配置混淆.
2.注意項目中的bean,尤其是實現 Serializable介面的類,在用bundle傳輸時會出現的問題,必須keep其變數:keepclassmembers class * implements java.io.Serializable {*;}
3.一定要keep安卓的主要組件類名,如activity,service等等。
Keep public class * extends android.app.activity
4.一定keep第三方類庫中的所有東東
Keep class com..**{*;}
5.注意keep Gson,json,R文件,介面,用到 js 調用時注意webview。
Ⅲ android如何實現視頻邊錄邊上傳
/**
*實時上傳到PC端(邊錄邊傳)
*
*/
.OnClickListener
{
@Override
publicvoidonClick(Viewv)
{
if(!Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED))
{
Toast.makeText(MainActivity.this,R.string.sdcarderror,1)
.show();
return;
}
try
{
switch(v.getId())
{
caseR.id.record:
mediaRecorder.reset();
mediaRecorder
.setVideoSource(MediaRecorder.VideoSource.CAMERA);//從照相機採集視頻
//mediaRecorder
//.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder
.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mediaRecorder.setVideoSize(480,320);
mediaRecorder.setVideoFrameRate(3);//每秒3幀
mediaRecorder
.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);//設置視頻編碼方式
//mediaRecorder
//.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
mediaRecorder.setPreviewDisplay(surfaceView.getHolder()
.getSurface());
//實時上傳的代碼
receiver=newSocket("192.168.1.149",9999);
ParcelFileDescriptorpfd=ParcelFileDescriptor
.fromSocket(receiver);
mediaRecorder.setOutputFile(pfd.getFileDescriptor());
mediaRecorder.prepare();//預期准備
mediaRecorder.start();//開始刻錄
record=true;
break;
caseR.id.stop:
if(record)
{
System.out.println(videoFile);
mediaRecorder.stop();
mediaRecorder.release();
receiver.close();
record=false;
}
break;
}
}catch(Exceptione)
{
Toast.makeText(MainActivity.this,R.string.error,1).show();
Log.e(TAG,e.toString());
}
}
}
Ⅳ Android開發,上傳短視頻到阿里雲 報401未授權怎麼解決 後台說已經授權了
可能有如下兩個原因:
1. 沒有去申請授權,建議查看一下?
2. 介面中傳錯了,可以自己把請求信息列印出來仔細查看下,或者發出來看看。