Java

Messages postés
12
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
8 juin 2010
- - Dernière réponse : cs_catherine87
Messages postés
12
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
8 juin 2010
- 8 juin 2010 à 13:17
bonjour ,
je suis débutente en java et j'ai trouvé ce programme qui permet de recuperer le flux video d'une camera IP de type AXIS mais je n'arrive pas à comprendre exactement le role de cette boucle :
public void readLine(DataInputStream dis) {
int index = 1;
try {
do {
int length = 0;
int r;
for (int i 0; i < ((index 1) ? 4 : 5); i++) {
String line = dis.readLine();
System.out.println( index + " : $$$$ " + line);


svp pouvez vous m'aider
Afficher la suite 

1 réponse

Messages postés
12
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
8 juin 2010
0
Merci
et voici le code source de tous le programme :
public view_frame(Component parent_,String str) {
parent = parent_;
a =str;

}


public void connect() {
String mjpgURL = "http://"+a+"/axis-cgi/mjpg/video.cgi";
System.out.println("NewClass.connect()");
try {
URL u = new URL(mjpgURL);


huc = (HttpURLConnection) u.openConnection();
String userPassword = camLogin + ":" + camPwd;
String encoding = new sun.misc.BASE64Encoder().encode(userPassword
.getBytes());
huc.setRequestProperty("Authorization", "Basic " + encoding);
InputStream is = huc.getInputStream();
connected = true;
BufferedInputStream bis = new BufferedInputStream(is);
dis = new DataInputStream(bis);
if (!initCompleted)
initDisplay();
} catch (IOException e) {
e.printStackTrace();
try {
huc.disconnect();
Thread.sleep(60);
} catch (InterruptedException ie) {
ie.printStackTrace();
huc.disconnect();
connect();
}
// connect();
} catch (Exception e) {
e.printStackTrace();


;
}
}


public void initDisplay() { // setup the display


readMJPGStream();


/*
* imageSize = new Dimension(image.getWidth(this),
* image.getHeight(this)); setPreferredSize(imageSize);
* parent.setSize(imageSize); parent.validate(); initCompleted = true;
*/
}


public void disconnect() {
try {
if (connected) {
dis.close();
connected = false;
}
} catch (Exception e) {
;
}
}


public void paint(Graphics g) { // used to set the image on the panel
if (image != null)
g.drawImage(image, 0, 0, this);
}


public void readStream() { // the basic method to continuously read the
// stream


}


public void readMJPGStream() {
readLine(0, dis);


}


public void readJPG() {
System.out.println("NewClass.readJPG()");
try {
JPEGImageDecoder decoder = JPEGCodec.createJPEGDecoder(dis);
image = decoder.decodeAsBufferedImage();
} catch (Exception e) {
// e.printStackTrace();
disconnect();
}
}


public void readLine(int n, DataInputStream dis) {


readLine(dis);


}


public void readLine(DataInputStream dis) {
int index = 1;
try {
do {
int length = 0;
int r;
for (int i 0; i < ((index 1) ? 4 : 5); i++) {
String line = dis.readLine();
System.out.println( index + " : $$$$ " + line);


String string = "Content-Length:";
if (line.contains(string)) {
String trim = line.substring(string.length()).trim();
System.out.println(trim);
length = Integer.parseInt(trim);
}


}
byte[] aux = new byte[1000000];
int total = 0;
while (total < length) {
r = dis.read(aux, total, length - total);
total = total + r;
}




System.out.println("r = " + total);
JPEGImageDecoder decoder = JPEGCodec
.createJPEGDecoder(new ByteArrayInputStream(aux, 0,
length));
image = decoder.decodeAsBufferedImage();
imageSize = new Dimension(image.getWidth(this), image
.getHeight(this));
setPreferredSize(imageSize);
parent.setSize(imageSize);
parent.repaint();
index ++;
}


while (true);


} catch (Exception e) {
System.out.println("error at " + index);
e.printStackTrace();
}


}


public void run() {
connect();
readStream();
}


public static void main(String[] args) {

}

}

merciii d'avance
Commenter la réponse de cs_catherine87