我在做一个Android 上的AR (视觉增强) 应用.
是基于开放代码的AndAR。
源代码是以手机的摄像头为来源。
我现在想把图像来源改成一个网络摄像头。图像处理的部分都在这个Activity里实现,他是继承父类AndARActivity的CustomAcitivity
代码如下:public class CustomActivity extends AndARActivity { CustomObject someObject;
ARToolkit artoolkit;
@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
CustomRenderer renderer = new CustomRenderer();//optional, may be set to null
super.setNonARRenderer(renderer);//or might be omited
try {
//register a object for each er type
artoolkit = super.getArtoolkit();
someObject = new CustomObject
("test", "patt.hiro", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "android.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
someObject = new CustomObject
("test", "barcode.patt", 80.0, new double[]{0,0});
artoolkit.registerARObject(someObject);
} catch (AndARException ex){
//handle the exception, that means: show the user what happened
System.out.println("");
}
startPreview();
} /**
 * Inform the user about exceptions that occurred in background threads.
 * This exception is rather severe and can not be recovered from.
 * TODO Inform the user and shut down the application.
 */
@Override
public void uncaughtException(Thread thread, Throwable ex) {
Log.e("AndAR EXCEPTION", ex.getMessage());
finish();
}



}
这里面涉及到camera的就是一句startPreview();是父类里的方法。 /**
     * Open the camera and start detecting ers.
     * note: You must assure that the preview surface already exists!
     */
    public void startPreview() {
        if(!surfaceCreated) return;
        if(mPausing || isFinishing()) return;
        if (camStatus.previewing) stopPreview();
        openCamera();
                camera.startPreview();
                camStatus.previewing = true;
    }我已经写好了socketcamera的程序,也可以实现把视频传给手机实时显示。
但是不知道怎么把Activity 里的camera 变成 socketcamera。父类完整的代码在这里:
http://www.google.com/codesearch#1KqbJe1maMI/trunk/AndAR/src/edu/dhbw/andar/AndARActivity.java&type=cs&q=mcamera&exact_package=http://andar.googlecode.com/svn