http://stackoverflow.com/questions/10550139/android-ics-and-mjpeg-using-asynctask

위 링크 참고해서 테스트 중입니다

해당 소스는 전체화면으로 캠만 출력하는 레이아웃이 되게 해놨던데

저는 미리 만들어놓은 레이아웃 안에 캠 출력하는 레이아웃이 들어가게 해놨습니다


공개된 외국 캠 주소를 사용하면 문제가 안 생기는데 따로 마련한 캠을 사용하면 문제가 생깁니다.


소스 코드
      	protected MjpegInputStream doInBackground(String... url) {
            //TODO: if camera has authentication deal with it and don't just not work
            HttpResponse res = null;
            DefaultHttpClient httpclient = new DefaultHttpClient();     
            Log.d(TAG, "1. Sending http request");
            try {
		//아래가 문제가 생기는 것으로 의심되는 코드
                res = httpclient.execute(new HttpGet(URI.create(url[0])));

                Log.d(TAG, "2. Request finished, status = " + res.getStatusLine().getStatusCode());
                if(res.getStatusLine().getStatusCode()==401){
                    //You must turn off camera User Access Control before this will work
                    return null;
                }
                return new MjpegInputStream(res.getEntity().getContent());  
            } catch (ClientProtocolException e) {
                e.printStackTrace();
                Log.d(TAG, "Request failed-ClientProtocolException", e);
                //Error connecting to camera
            } catch (IOException e) {
                e.printStackTrace();
                Log.d(TAG, "Request failed-IOException", e);
                //Error connecting to camera
            }

            return null;
        }


맨 처음 실행할 때는 문제 없이 잘 출력됩니다.

화면이 꺼지거나 홈 버튼을 누르거나 해서 onResume()이 호출된 다음부터가 문제입니다

res = httpclient.execute(new HttpGet(URI.create(url[0])));

이 코드에서 진행이 안 되더군요


외국 공개 주소를 사용하면 저 부분은 매끄럽게 잘 진행됩니다. 멈춰서는 일 없이요

그런데 개인 캠은 매끄럽게 넘어가지 않고 멈춰섭니다. 진행이 안 됩니다.

동시에 캠을 보는 다른 화면도 똑같이 멈추고, 그대로 냅두면 접속이 끊어집니다.

테스트 어플을 태스크킬러 같은걸로 완전히 죽여버리면 다시 보이긴 보입니다만...


그렇다고 마냥 캠 의심만 하기도 묘한게

IP Cam Viewer Lite로 캠을 보게 되면 이런 끊김 현상이 거의 없거든요



어떤 방법을 사용해야 좋을지 좋은 생각이 나오지 않네요