導航:首頁 > 操作系統 > androidcamera90

androidcamera90

發布時間:2022-11-26 12:57:21

A. android 錄像圖像預覽正常 上傳伺服器後反轉90度

主要參考系統相機代碼實現getDisplayOritation就可以了
//在preview之前調用setDisplayOrientation
int degrees = getDisplayOritation(getDispalyRotation(), cameraId);
mCamera.setDisplayOrientation(degrees);
mCamera.startPreview();

B. Android Camera開發系列:調整Camera預覽方向

有時候我們想根據自己的需要調整下Camera的預覽方向,那麼是調用哪個API可以達到我們的目的呢?

我們看下下圖拍的幾張小可愛的照片,分別是正常方向、旋轉180度、90度拍的照片。

Camera1上,我們可以通過 setDisplayOrientation(int degress); 來設置camera預覽的方向。

這里也貼下源碼裡面關於setDisplayOrientaion介面的詳細說明。

Camera2的API上,找了一通,發現並沒有像Camera1上,可以通過類似的介面來設置預覽方向,不過可以通過TextureView.setTransform(matrix);來通過調整textureView的顯示來達到目的。

C. 怎樣使android camera豎屏錄制視頻保存的MP4文件,在電腦上播放不旋轉90度,使視頻文件寬高為240*320

手機若能設置就直接在相機里設置,要是不能就用格式工廠修改視頻文件。

D. Android camera重要問題

  1. 首先顯示的圖片應該設置為wrap_content,

  2. 然後使用系統相機拍照時執行下面這段代碼就行了,最簡單的方式


//使用意圖直接調用照相機

Intentintent=newIntent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

//打開照相機,設置請求碼

startActivityForResult(intent,OPEN_RESULT);

E. 現在 做了個 android 視頻錄制的程序 ,後置攝像頭總是旋轉90度,如何用代碼實現正常。

MediaRecorder 中一個方法setCamera();所以可以先設置好攝像頭的參數,然後再設置到MediaRecorder 中(但是錄制前需要解鎖)。
部分關鍵的代碼如果下:
//初始化相機信息
Camera mCamera = Camera.open();
Camera.Parameters params = mCamera.getParameters();
mCamera.setDisplayOrientation(90);//旋轉了90度,最好先判斷下JDK的版本號,再決定旋轉不
mCamera.setParameters(params);
mCamera.stopPreview();
mCamera.unlock();//解鎖
videoMediaRecorder.setCamera(mCamera);

F. android camera豎屏錄制視頻保存的文件,導入到電腦也是旋轉90,這要怎麼處理呢

/**
* 旋轉
*
* @param src目標文件
* @param des源文件
* @param width
* @param height
*/
public static void rotateYUV240SP(byte[] src, byte[] des, int width,
int height) {

int wh = width * height;
// 旋轉Y
int k = 0;
for (int i = 0; i < width; i++) {
for (int j = 0; j < height; j++) {
des[k] = src[width * j + i];
k++;
}
}

for (int i = 0; i < width; i += 2) {
for (int j = 0; j < height / 2; j++) {
des[k] = src[wh + width * j + i];
des[k + 1] = src[wh + width * j + i + 1];
k += 2;
}
}
}

G. android camera 橫屏 豎屏

試試下面兩種方法
1.修改manifest.xml,在需要橫屏的Activity里加上android:screenOrientation="landscape"
2.在Activity里加上setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

H. 如何實現android手機攝像頭的的自動對焦

1 使用一個定時器,設定定時時間,然後不間斷的對焦。

2 利用驅動層實現

3 觀察系統的原生相機得知,這東東也沒用定時器啊,貌似也不可能復雜到全用驅動來實現,即使底層用的是C 實現,但是理論上講,google肯定會提供這個封裝好東東。於是果斷的去查閱 DOC 一看,發現果然有這個東東 : 代碼如下[java] view plain print?
<strong><span style="font-size:18px">public class MainActivity extends Activity {

private SurfaceView surfaceView;
private SurfaceHolder surfaceHolder;
private boolean flag = false;
private String fileUrl="";
Camera camera;
Camera.Parameters parameters;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);


setContentView(R.layout.activity_main);
surfaceView = (SurfaceView) findViewById(R.id.surfaceView1);
Button button=(Button) findViewById(R.id.takepicture);
surfaceHolder = surfaceView.getHolder();
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
surfaceHolder.setKeepScreenOn(true);
surfaceView.setFocusable(true);
surfaceView.setBackgroundColor(TRIM_MEMORY_BACKGROUND);
surfaceHolder.addCallback(new Callback() {
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
camera.stopPreview();
camera.release();
camera=null;

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// TODO Auto-generated method stub
if(null==camera){
camera=Camera.open();
try {
camera.setPreviewDisplay(surfaceHolder);
initCamera();
camera.startPreview();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height){
//實現自動對焦
camera.autoFocus(new AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if(success){
initCamera();//實現相機的參數初始化
camera.cancelAutoFocus();//只有加上了這一句,才會自動對焦。
}
}

});
}

});
}
//相機參數的初始化設置
private void initCamera()
{
parameters=camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
//parameters.setPictureSize(surfaceView.getWidth(), surfaceView.getHeight()); // 部分定製手機,無法正常識別該方法。
parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE);//1連續對焦
setDispaly(parameters,camera);
camera.setParameters(parameters);
camera.startPreview();
camera.cancelAutoFocus();// 2如果要實現連續的自動對焦,這一句必須加上

}

//控制圖像的正確顯示方向
private void setDispaly(Camera.Parameters parameters,Camera camera)
{
if (Integer.parseInt(Build.VERSION.SDK) >= 8){
setDisplayOrientation(camera,90);
}
else{
parameters.setRotation(90);
}

}

//實現的圖像的正確顯示
private void setDisplayOrientation(Camera camera, int i) {
Method downPolymorphic;
try{
downPolymorphic=camera.getClass().getMethod("setDisplayOrientation", new Class[]{int.class});
if(downPolymorphic!=null) {
downPolymorphic.invoke(camera, new Object[]{i});
}
}
catch(Exception e){
Log.e("Came_e", "圖像出錯");
}
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);

return true;
}}</span></strong>

I. android camera 豎屏顯示,但是保持的圖片旋轉了90°,怎麼辦

字體的話就選字體
圖片的話 除非你屏夠大 不然旋轉了圖片也看不全 或者壓縮
旋轉圖片可以用windows的圖片閱覽器,也可以用其他軟體編輯,
當然 播放器也有這個功能,在你建立的播放文件裡面,有這個旋轉選項

閱讀全文

與androidcamera90相關的資料

熱點內容
阿里雲伺服器怎麼安裝bt面板 瀏覽:629
霍爾瓦特大街小說 瀏覽:857
可以看的網址大全 瀏覽:416
一個名叫尼克和保姆的電影 瀏覽:613
電影里有戒尺的 瀏覽:845
徐英演的哪些大尺度電影 瀏覽:412
鬼片英文版 瀏覽:600
《前度2》完整未刪減 瀏覽:851
大陸類似春的森林電影 瀏覽:526
1受多攻獸世 瀏覽:849
軍嫂肉文 瀏覽:935
javamariadb 瀏覽:876
未刪減的網站在線觀看 瀏覽:899
雞雞加長叫什麼電影 瀏覽:387
愛情電影網址 瀏覽:726
激情戲愛情電影 瀏覽:51
哪裡可以免費在線看輕小說 瀏覽:61
李采譚演的韓國論理 瀏覽:962
男男攻是軍人 瀏覽:617
今天實時票房 瀏覽:634