프로그래밍

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

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

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
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5689 [프로그래밍] 엥 구글 플러터 유기각 재는거임?? 4 최수연 0 1 일 전 243
5688 [프로그래밍] 반도체 장비 업계인 있음? 9 캡틴띠모 0 2 일 전 228
5687 [프로그래밍] 안드로이드 책 추천좀 6 집에가게해줘 0 3 일 전 139
5686 [프로그래밍] 폰 스크리닝 해 본 사람 있어? 3 무지개빛푸딩 0 3 일 전 361
5685 [프로그래밍] jsp 트리메뉴 만들고있는데 구상한게가능한지 의견좀물어볼께 11 평택국 0 4 일 전 145
5684 [프로그래밍] JPA 도와줘어억 ㅠ 10 모그리또 0 4 일 전 227
5683 [프로그래밍] 의사는 뽑는 인원 제한하는데 부캠은 왜 제한 안 할까 5 조강현 0 6 일 전 353
5682 [프로그래밍] 그 혹시 게임쪽 종사자 있음? 17 god79ii 0 10 일 전 617
5681 [프로그래밍] 코린이 ㅅㅂ 뭐가 문젠지 모르겠어요 9 집에가게해줘 0 10 일 전 436
5680 [프로그래밍] Dear Imgui 라고 아시나요? 2 년째모쏠 0 10 일 전 242
5679 [프로그래밍] 현업개발자분들 주말엔 편하게 쉴수있나요? 10 키로 0 11 일 전 847
5678 [프로그래밍] 무엇이든 물어보세요. 28 변현제 0 13 일 전 405
5677 [프로그래밍] 개발자보단 엔지니어가 취업이 잘됨 5 iillillill 2 14 일 전 718
5676 [프로그래밍] 프론트엔드 개발자 연봉 1억 넘는 사람 있어? 13 잠적자 0 14 일 전 623
5675 [프로그래밍] Exiftool 이거 일본어 못 읽는데 13 부터시작하는이세... 0 16 일 전 233
5674 [프로그래밍] 반응형 웹페이지가 내가상상한거랑 좀 다르네 4 평택국 0 17 일 전 445
5673 [프로그래밍] 고졸 FE개발자 연봉, 상황에 조언좀.. 19 쾅꿍꿍 0 17 일 전 598
5672 [프로그래밍] 물경력들 보면 책임을 이해못하는것같음 5 mils 1 18 일 전 409
5671 [프로그래밍] GPT가 코딩 다해주네 3 겜신병자 0 18 일 전 741
5670 [프로그래밍] 크로스플랫폼의 욕심은 끝이없다 4 ye 0 21 일 전 399