This repository has no description
0

Configure Feed

Select the types of activity you want to include in your feed.

feat: ios use wide angle camera

+16 -4
+16 -4
posedetection/src/iosMain/kotlin/com/performancecoachlab/posedetection/camera/CameraEngine.kt
··· 36 36 import platform.AVFoundation.AVCaptureDevicePositionBack 37 37 import platform.AVFoundation.AVCaptureDevicePositionFront 38 38 import platform.AVFoundation.AVCaptureDevicePositionUnspecified 39 + import platform.AVFoundation.AVCaptureDeviceType 40 + import platform.AVFoundation.AVCaptureDeviceTypeBuiltInUltraWideCamera 39 41 import platform.AVFoundation.AVCaptureDeviceTypeBuiltInWideAngleCamera 40 42 import platform.AVFoundation.AVCaptureFileOutput 41 43 import platform.AVFoundation.AVCaptureInput ··· 55 57 import platform.AVFoundation.AVMediaTypeVideo 56 58 import platform.AVFoundation.AVVideoCodecJPEG 57 59 import platform.AVFoundation.AVVideoCodecKey 60 + import platform.AVFoundation.displayVideoZoomFactorMultiplier 58 61 import platform.AVFoundation.position 59 62 import platform.CoreFoundation.CFDataGetBytePtr 60 63 import platform.CoreFoundation.CFDataGetLength ··· 446 449 @OptIn(ExperimentalForeignApi::class) 447 450 private fun setupInputs(): Boolean { 448 451 val availableDevices = AVCaptureDeviceDiscoverySession.discoverySessionWithDeviceTypes( 449 - listOf(AVCaptureDeviceTypeBuiltInWideAngleCamera), 452 + listOf( 453 + AVCaptureDeviceTypeBuiltInUltraWideCamera,AVCaptureDeviceTypeBuiltInWideAngleCamera 454 + ), 450 455 AVMediaTypeVideo, 451 456 AVCaptureDevicePositionUnspecified 452 457 ).devices ··· 454 459 if (availableDevices.isEmpty()) return false 455 460 456 461 for (device in availableDevices) { 457 - when ((device as AVCaptureDevice).position) { 458 - AVCaptureDevicePositionBack -> backCamera = device 459 - AVCaptureDevicePositionFront -> frontCamera = device 462 + if((device as AVCaptureDevice).displayVideoZoomFactorMultiplier<1.0){ 463 + when (device.position) { 464 + AVCaptureDevicePositionBack -> backCamera = device 465 + } 466 + }else{ 467 + when (device.position) { 468 + AVCaptureDevicePositionFront -> frontCamera = device 469 + } 460 470 } 471 + 472 + Logger.d{"device: ${device.localizedName}, zoom: ${device.displayVideoZoomFactorMultiplier}, position: ${device.position}"} 461 473 } 462 474 currentCamera = if (isUsingFrontCamera) frontCamera ?: backCamera ?: return false 463 475 else backCamera ?: frontCamera ?: return false