tns plugin add @nstudio/nativescript-camera-plus
หมายเหตุ:- Android โปรดเพิ่มสิ่งต่อไปนี้ลงใน App.gradle ของคุณ
android {
.. .
compileOptions {
sourceCompatibility JavaVersion . VERSION_1_8
targetCompatibility JavaVersion . VERSION_1_8
}
}
ใช่กล้องหมุนเพราะเป็นเว็บแคมสำหรับอีมูเลเตอร์และมันเป็นเพียงวิธีการทำงานของชีวิต
แอพสาธิตทำงานได้ดีที่สุดเมื่อทำงานบนอุปกรณ์จริง คุณสามารถเปิดใช้งานได้จากตัวจำลอง/ตัวจำลอง แต่กล้องไม่ทำงานกับ iOS Simulators Android Emulators จะทำงานกับกล้องหากคุณเปิดใช้งานเว็บแคมของคุณ
กล้องในเว็บแคมของคุณที่ใช้กับอีมูเลเตอร์น่าจะถูกหมุนไปด้านข้าง (ไม่ถูกต้อง) เอาต์พุตกล้องจริงจะถูกนำไปใช้อย่างถูกต้องมันเป็นเพียงตัวอย่างของอีมูเลเตอร์ที่แสดงตัวอย่างไม่ถูกต้อง ปัญหานี้ไม่ควรปรากฏบนอุปกรณ์จริงเนื่องจากกล้องที่มุ่งเน้นอย่างถูกต้องบนอุปกรณ์กับเว็บแคมในคอมพิวเตอร์
เสียบอุปกรณ์ในตอนนั้น:
npm run demo.ios
// or...
npm run demo.android
เสียบอุปกรณ์ในตอนนั้น:
npm run demo.ng.ios
// or...
npm run demo.ng.android
ชื่อ | พิมพ์ | ค่าเริ่มต้น | คำอธิบาย |
---|---|---|---|
การดีบัก | บูลีน | เท็จ | หากบันทึกที่แท้จริงจะถูกส่งออกในคอนโซลเพื่อช่วยแก้ไขข้อบกพร่องของกล้องและเหตุการณ์ |
ยืนยัน | บูลีน | จริง | หากจริงเหตุการณ์เริ่มต้นของภาพเริ่มต้นจะนำเสนอกล่องโต้ตอบยืนยันก่อนบันทึก |
ยืนยัน | สาย | 'retake' | เมื่อยืนยันการจับภาพข้อความนี้จะถูกนำเสนอต่อผู้ใช้เพื่อสร้างภาพถ่ายใหม่ |
ยืนยัน | สาย | 'บันทึก' | เมื่อยืนยันการจับภาพข้อความนี้จะถูกนำเสนอต่อผู้ใช้เพื่อบันทึกรูปภาพ |
Savetogallery | บูลีน | จริง | หากจริงเหตุการณ์เริ่มต้นของการถ่ายภาพจะบันทึกไปยังแกลเลอรีอุปกรณ์ |
Gallerypickermode | สาย | 'หลายรายการ' | โหมดการเลือกแกลเลอรี่/ห้องสมุด 'เดี่ยว' อนุญาตให้เลือกภาพหนึ่งภาพ 'หลาย' อนุญาตให้มีหลายภาพ |
รูปปั้น | บูลีน | จริง | หากจริงปุ่ม/ปุ่มสลับแฟลชเริ่มต้นจะแสดงบนกล้องและเค้าโครง |
showtoggleicon | บูลีน | จริง | หากปุ่มไอคอนสลับกล้องเริ่มต้น (ด้านหน้า/ด้านหลัง) จริงจะแสดงบนกล้องและเค้าโครง |
การแสดงสินค้า | บูลีน | จริง | หากเป็นจริงไอคอน/รูปภาพ) ไอคอน/รูปภาพ) จะแสดงบนกล้องบวกเลย์เอาต์ |
การแสดงสินค้า | บูลีน | จริง | หากเป็นจริงตัวเลือกจากแกลเลอรี่/ปุ่มไลบรารี/ปุ่มจะแสดงบนกล้องบวกเลย์เอาต์ |
enablevideo | บูลีน | ทำให้งอ | หากเป็นจริงอินสแตนซ์ CameraPlus สามารถบันทึกวิดีโอและวิดีโอจะแสดงในแกลเลอรี่ |
หมายเหตุ: คุณสมบัติเหล่านี้จำเป็นต้องตั้งค่าก่อนการเริ่มต้นของกล้อง ผู้ใช้ควรตั้งค่าเหล่านี้ในตัวสร้างส่วนประกอบก่อนที่มุมมองของพวกเขาจะสร้างส่วนประกอบหากต้องการเปลี่ยนค่าเริ่มต้น ในกรณีของ enablevideo สิ่งนี้จะเป็นจริงหากคุณสมบัติคงที่หรือคุณสมบัติส่วนประกอบเป็นจริง
ชื่อ | พิมพ์ | คำอธิบาย |
---|---|---|
enablevideo | บูลีน | การสนับสนุนวิดีโอ (ปิดโดยค่าเริ่มต้น) สามารถรีเซ็ตได้ก่อนที่จะใช้ในมุมมองที่แตกต่างกันหากพวกเขาต้องการย้อนกลับ/ออกระหว่างภาพถ่าย/กล้องและวิดีโอ/กล้อง |
defaultcamera | กล้องถ่ายรูป | ค่าเริ่มต้นกล้องอย่างถูกต้องเมื่อเปิดใช้งาน ค่าเริ่มต้น 'rear' 'front' หรือ 'rear' |
ชื่อ | พิมพ์ | คำอธิบาย |
---|---|---|
flashonicon | สาย | ชื่อ APP_RESOURCE สามารถดูได้สำหรับปุ่มภาพดั้งเดิมเมื่อเปิดแฟลช (เปิดใช้งาน) |
แฟลช | สาย | ชื่อ APP_RESOURCE สามารถดูได้สำหรับปุ่มรูปภาพดั้งเดิมเมื่อ Flash ปิดอยู่ (ปิดใช้งาน) |
Togglecameraicon | สาย | ชื่อ APP_RESOURCE สามารถวาดได้สำหรับปุ่มกล้องสลับ |
ซื้อของ | สาย | ชื่อ APP_RESOURCE สามารถดูได้สำหรับปุ่มถ่ายภาพ (จับภาพ) |
Galleryicon | สาย | ชื่อ APP_RESOURCE Drawable สำหรับปุ่มเปิดแกลเลอรี่ (ไลบรารีภาพ) |
ออโต้โฟกัส | บูลีน | หากเป็นจริงกล้องจะใช้โฟกัสอย่างต่อเนื่องเมื่อกล้องตรวจจับการเปลี่ยนแปลงของเป้าหมาย |
ชื่อ | พิมพ์ | คำอธิบาย |
---|---|---|
Doubletapcameraswitch | บูลีน | เปิด/ปิดการใช้งานการแตะสองครั้งเพื่อสลับกล้อง (เปิดใช้งาน) |
วิธี | คำอธิบาย |
---|---|
iScameraavailable () | ส่งคืนจริงถ้าอุปกรณ์มีกล้องอย่างน้อยหนึ่งตัว |
Toggleflash () | สลับโหมดแฟลชบนกล้องที่ใช้งานอยู่ |
ToggleCamera () | สลับกล้องที่ใช้งานอยู่บนอุปกรณ์ |
เลือก Fromlibrary (Opts?: ichooseoptions) | เปิดแกลเลอรี่อุปกรณ์ (ไลบรารีภาพ) สำหรับการเลือกรูปภาพ |
TakePicture (opts?: icaptureoptions) | ถ่ายภาพตัวอย่างปัจจุบันใน cameraplus |
getFlashMode (): สตริง | Android: สตริงต่าง ๆ ที่เป็นไปได้: https://developer.android.com/reference/android/hardware/camera.parameters.html#getflashmode () iOS: 'on' หรือ 'off' |
บันทึก (opts?: ivideooptions) | เริ่มบันทึกวิดีโอ |
หยุด() | หยุดการบันทึกวิดีโอเมื่อหยุดเหตุการณ์ videoRecordingReadyEvent จะถูกปล่อยออกมา |
วิธี | คำอธิบาย |
---|---|
RequestCameraperMissions (คำอธิบายข้อความ?: สตริง) | แจ้งให้ผู้ใช้อนุญาตให้ใช้งานรันไทม์เพื่อใช้กล้องอุปกรณ์ ส่งคืนสัญญา |
hascamerapermission () | ส่งคืนจริงหากแอปพลิเคชันได้รับการเข้าถึงกล้องอุปกรณ์ |
RequestStorAgePermissions (คำอธิบายข้อความ?: สตริง) | แจ้งให้ผู้ใช้อนุญาตอนุญาตให้ใช้งานรันไทม์เพื่อใช้ที่เก็บข้อมูลภายนอกสำหรับการบันทึกและเปิดภาพจากแกลเลอรีอุปกรณ์ ส่งคืนสัญญา |
HasstoragePermissions () | ส่งคืนจริงหากแอปพลิเคชันได้รับการเข้าถึงที่เก็บอุปกรณ์ |
getNumberOfCameras () | ส่งคืนจำนวนกล้องบนอุปกรณ์ |
Hasflash () | ส่งคืนจริงถ้ากล้องที่ใช้งานมีโหมดแฟลช |
ชื่อ | คำอธิบาย |
---|---|
ข้อผิดพลาด | ดำเนินการเมื่อมีการปล่อยข้อผิดพลาดจาก cameraplus |
PhotocapturedEvent | ดำเนินการเมื่อถ่ายภาพ |
ToggleCameraEvent | ดำเนินการเมื่อกล้องอุปกรณ์สลับ |
ImagesselectedEvent | ดำเนินการเมื่อเลือกรูปภาพจากไลบรารี/แกลเลอรี่อุปกรณ์ |
VideorecordingStartedEvent | ดำเนินการเมื่อวิดีโอเริ่มบันทึก |
VideorecordingFinishedEvent | ดำเนินการเมื่อวิดีโอหยุดการบันทึก แต่ยังไม่ได้ดำเนินการ |
VideorecordingReadyEvent | ดำเนินการเมื่อวิดีโอเสร็จสิ้นการประมวลผลและพร้อมใช้งาน |
ยืนยันหน้าจอ | ดำเนินการเมื่อมีการแสดงกล่องโต้ตอบยืนยันภาพ .. |
ConfirmscreendismissedEvent | ดำเนินการเมื่อกล่องโต้ตอบยืนยันภาพถูกยกเลิกโดยปุ่มใหม่หรือบันทึก |
export interface ICameraOptions {
confirm ?: boolean ;
saveToGallery ?: boolean ;
keepAspectRatio ?: boolean ;
height ?: number ;
width ?: number ;
autoSquareCrop ?: boolean ;
confirmRetakeText ?: string ;
confirmSaveText ?: string ;
}
export interface IChooseOptions {
width ?: number ;
height ?: number ;
keepAspectRatio ?: boolean ;
showImages ?: boolean ;
showVideos ?: boolean ;
}
export interface IVideoOptions {
quality ?: CameraVideoQuality ;
confirm ?: boolean ;
saveToGallery ?: boolean ;
height ?: number ;
width ?: number ;
disableHEVC ?: boolean ;
androidMaxVideoBitRate ?: number ;
androidMaxFrameRate ?: number ;
androidMaxAudioBitRate ?: number ;
}
npm run dev.setup
ในรูทของ repo ในโคลนของคุณnpm run demo.android
หรือ npm run demo.ios
เพื่อเริ่มแอพสาธิตบนแพลตฟอร์มที่ให้ไว้ หากคุณมีอุปกรณ์ที่เชื่อมต่อกับคอมพิวเตอร์ของคุณควรเริ่มแอปบนอุปกรณ์ ถ้าไม่ให้อีมูเลเตอร์/เครื่องจำลองควรเริ่มต้นsrc
ของปลั๊กอินและการเปลี่ยนแปลงโดยซิงค์กับแอพสาธิตที่กำลังทำงานอยู่