SurfaceView의 화면을 캡쳐하여 bitmap으로 받아오고 쓰레드를 통해 1초에 하나씩 이미지를 전송하고는 있지만 막상 확인해 보면 까만 이미지만 전송이 되고있습니다.
어떻게 해야 해결이 될까요?
private void startServer() {
        inServer = true;
        btnStart.setText( getString(R.string.action_stop) );
        btnStart.setEnabled(true);    
        NetInfoAdapter.Update(this);
        myMessage.setText( getString(R.string.msg_prepare_ok) + " http://" + NetInfoAdapter.getInfo("IP")  + ":8080" );

        try {
            strServer = new StreamingServer(8080, resourceDirectory); 
            strServer.setOnRequestListen(streamingRequest);
            Log.i("startServer() - try", "MainActivity.java - 214");
        } catch( IOException e ) {
            e.printStackTrace();
            showToast(this, "Can't start http server..");
            Log.i("startServer() - catch", "MainActivity.java - 218");
        }
        
      
        
        sv.buildDrawingCache();
        barcode = Bitmap.createBitmap(sv.getDrawingCache());
        
// 인식결과 이미지 출력
if (barcode == null) {
barcodeImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.launcher_icon));
Log.i("인식결과 이미지 출력", "실패");
} else {
// barcodeImageView를 barcode라는 비트맵으로 가져온다.
barcodeImageView.setImageBitmap(barcode);
// 비트맵을 jpeg형식의 이미지 파일로 디바이스에 저장
// AndroidManifest.xml에서 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 권한 부여.
// 파일명은 오늘 날짜로 지정
mFileName = mTime + ".jpeg";
// Environment.getExternalStorageDirectory().getAbsolutePath() : 디바이스에 지정된 기본적인 파일저장 경로로서 각각 다르다.
fileCacheItem = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), mFileName);
OutputStream out = null;
try {
fileCacheItem.createNewFile();

// FileOutputStream : 파일에 데이터를 쓸 수 있는 기능을 제공한다.
out = new FileOutputStream(fileCacheItem);
// barcode.compress('포맷형식', '퀄리티', '스트림객체');
barcode.compress(CompressFormat.JPEG, 100, out);
try {
thread = new Thread(new Runnable() {

public void run() {
// TODO Auto-generated method stub
while (inServer == true) {
try {
doFileUpload(fileCacheItem); // 파일전송
thread.sleep(1000);
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
});
thread.start();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
out.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
    }