프로그래밍

또 막혀서 질문하러 온 코린이

이전에 카메라로 사진 찍은거 바로 가져오려고 한 코린이인데

Camera 라이브러리는 더 이상 사용되지 않는다는걸 알게되서 CameraX 라이브러리를 사용함.

카메라 실행 까지는 성공했는데 캡처를 하면 아무런 반응이 없음

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
private fun takePhoto() {
    val imageCapture = imageCapture?: return
 
    val photoFile = File(outputDirectory, newJpgFileName())
 
    val outputOptions = ImageCapture.OutputFileOptions.Builder(photoFile).build()
 
    try{
        imageCapture.takePicture(
            outputOptions,
            ContextCompat.getMainExecutor(this),
            object: ImageCapture.OnImageSavedCallback{
                override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {
                    val savedUri = Uri.fromFile(photoFile)
                    val msg = "Photo capture succeeded: $savedUri"
                    Toast.makeText(this@MainActivity, msg, Toast.LENGTH_LONG).show()
                    displayPhoto(savedUri)
                }
 
                override fun onError(e: ImageCaptureException) {
                    Log.d("CameraX-Debug""Photo capture failed: ${e.message}", e)
                    e.printStackTrace()
                }
            }
        )
    }catch (e: Exception){
        e.printStackTrace()
    }
}
cs

 

 

Capture 버튼을 누르면 takePhoto 함수가 실행되도록 했는데

imageCapture.takePicture가 정상적으로 실행됐다면, ImageCapture.OnImageSavedCallback에

onImageSeved가 실행되야 하는데(실패하면 onError) 중단점 넣어봐도 전~혀 들어가질 않음

 

여기서 이유를 모르겠어서 또 멈췄다 ㅜㅜ

 

10개의 댓글

2024.01.28

디버깅은 해 봄?

 

질문 수준이 좀 그렇네;

0
2024.01.28
@슈카임

어떤 부분이 질문 수준이 낮다고 생각한거야? 그 부분을 알려주면 고쳐서 다시 올려볼께

0
2024.01.28
@슈카임

해결해서 답변 안 달아줘도 될듯! ㅎㅎ ㄳ

0
2024.01.28
@집에가게해줘

굿!

 

아까 내가 댓글로 그렇게 쓴 이유는 에러 로그라도 써주든지 어느부분까지 제대로 실행 됐는지 정도까지는 써줘야 어느정도 감을 잡고 얘기해주는데 냅다 안 된다고 하면 같은 환경 구축이 되어 있지 않은 사람은 알 수가 없음.

 

그래서 디버깅 해봤냐고 물어봄.

 

너무 좆같이 이야기해서 정말 미안하고 해결 해서 다행입니다~

0
2024.01.28
@슈카임

아닙니다!

안드로이드 공식문서 보고 따라한거라 환경설정 문제는 생길수가 없고,

디버깅은 너무나도 당연히 해봤어야 하는거고 로그캣이나 onError나 catch에도 잡히질 않아서 올렸던건데

제가 너무 싹다 생략해버리긴 했네요;;

 

아무튼 감사합니다 ㅎㅎ

0
2024.01.28

코틀린 안한지 오래되서 잘 모르긴한데

val imageCapture = imageCapture?: return

이 부분 imageCapture가 null이면 리턴시킨다는 의미아님?

imageCapture 디버그 찍어보면 어떨까

0
2024.01.28
@년간솔로

아 거긴 찍어봤는데 정상적으로 넘어가고 imageCapture.takePicture까지 정상적으로 실행 함.

혹시나 imageCapture.takePicture 내부에 뭐 에러 있어서 그런가? 싶어서 try문으로 감싸줬는데 catch로 빠지지도 않아..

0
2024.01.28
@집에가게해줘

try{

imageCapture.takePicture(

여기를

imageCapture?.takePicture(

이렇게 하면 어떰? 검색해보니까 여기빼고 나머지는 다 비슷한것같은데

https://itstudy-mary.tistory.com/361 이 글이 하고자하는거랑 같은 느낌인듯?

0
2024.01.28
@년간솔로

해외 글에 핸드폰 껏다 켜보라는 글 있어서 껏다 키니까 onError에 들어옴;;

에러 내용은 "Not bound to a valid Camera"인데 이것만 찾으면 해결될 듯! ㅎㅎ

0
2024.01.28
@년간솔로

그리고 바로 해결 봄

cameraProvider에 있는 bindToLifecycle에 내 imageCaputre를 바인딩 해줘야 가져올 수 있네! ㅎㅎ

답변 ㄳ

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5711 [프로그래밍] 컴포즈 Box 컴포넌트가 안 나와... 1 집에가게해줘 0 1 일 전 102
5710 [프로그래밍] 아 ssl 적용햇는데 개정신없네 9 넌또화나있네 0 1 일 전 228
5709 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 5 조강현 0 4 일 전 319
5708 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 5 일 전 217
5707 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 5 일 전 191
5706 [프로그래밍] 그냥 개인공부용 git 만들건데 5 년째재수강 0 5 일 전 279
5705 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 6 일 전 322
5704 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 7 일 전 338
5703 [프로그래밍] 아두이노 키트 아무것도 모르고 사도 될까? 6 그것 0 7 일 전 266
5702 [프로그래밍] 횽들 Vimeo에 올라가있는 동영상의 원본크기를 확인할 수 있... 13 카뜨만두 0 7 일 전 190
5701 [프로그래밍] c# 이벤트와 델리게이트 13 RX7900XTX 0 10 일 전 311
5700 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 11 일 전 353
5699 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 21 잉텔 0 12 일 전 226
5698 [프로그래밍] 안드로이드 씹뉴비 질문이요 2 집에가게해줘 0 12 일 전 132
5697 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 13 일 전 913
5696 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 17 일 전 762
5695 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 17 일 전 509
5694 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 17 일 전 240
5693 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 20 일 전 264
5692 [프로그래밍] 시스템 디자인 인터뷰 준비 도움좀!!! 1 Nognhyup 0 20 일 전 208