iOS 呼叫相機連續拍照

2021-07-15 06:27:26 字數 1400 閱讀 9880

跟朋友討論如題中的功能怎麼實現,後來用系統的方法實現了這一功能,說起來有點取巧,就是在確定拍照後的後重新進入相機介面,前面我發過一篇object-c的和swift的上傳頭像,以這個為基礎實現,具體做法是在,選中一張後的**中:

-(void)imagepickercontroller:(uiimagepickercontroller*)picker didfinishpickingmediawithinfo:(nsdictionary *)info

在以下方法中:

//表單請求,上傳檔案

manager.requestserializer = [afjsonrequestserializer serializer];//請求

manager.responseserializer = [afhttpresponseserializer serializer];//響應

manager.requestserializer

.timeoutinterval = 8;

/**這裡需要特別注意一下,因為沒有放具體的上傳位址,所以這個上傳方式是不成功的,但是方法是沒錯的,需要替換成正確的上傳位址

*/[manager post:[nsstring stringwithformat:@"url"] parameters:nil constructingbodywithblock:^(id

formdata) completion:^(bool finished)];

}progress:^(nsprogress *uploadprogress)success:^(nsurlsessiondatatask *task, id responseobject) failure:^(nsurlsessiondatatask *task, nserror *error) ];

主要是這個方法:

//關閉相簿介面

[uiview animatewithduration:0.001 animations:^ completion:^(bool finished)];

用uiview的過渡方法,這個過渡方法在core animation中也有介紹過,尤其注意要把present和dismiss的跳轉裡面的動畫設定為no,否則你設定的時間是無效的,重新開啟相機可酌情給yes,具體效果,可以自己動手嘗試。

另外picker.allowsediting根據需要設定,意思是拍照後顯示剛拍的,可進行編輯,為no時不顯示。

最後再說一句,要想得到多張且統一上傳,就不要把關閉相機和重新開啟的**放在af中,因為是直接上傳的,要拿到請設定全域性變數根據是否選擇來獲取當前拍攝的並儲存。最後統一上傳。

Android呼叫系統前置相機拍照

intent intent new intent mediastore.action image capture intent.putextra camerasensortype 2 呼叫前置攝像頭 測試,發現不正確,並不能直接開啟前置攝像頭,開啟的是上次使用的攝像頭。正確方法是 intent in...

android相機拍照

拍照有兩種方式,一是使用android.hardware.camera,二是使用intent android.media.action.image capture 當然還是第一種好,不過 太複雜,以後有時間再說,這裡就說一下第二種方式吧。try catch exception e 這樣就可以呼叫系統...

Android呼叫系統相簿和系統相機拍照

呼叫系統相機拍照 intent new intent mediastore.action image capture startactivityforresult intent,result camara image result camara image activity的標誌。自已定義 呼叫系統...