mimi1255
Messages postés87Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention14 mars 2024
-
1 juin 2008 à 23:55
mimi1255
Messages postés87Date d'inscriptionmardi 22 janvier 2008StatutMembreDernière intervention14 mars 2024
-
2 juin 2008 à 12:40
Bonjour, je dispose d'une caméra Axis 2130 PTZ, j'ai géré le flux
d'image dans le code ci-dessous. Mais maintenant, je voudrais gérer la
rotation, comment faire ?
MErci d'avance.
Voici le code pour gérer le flux, mais je ne sais pas si ça vous avancera:
/** Crée une nouvelle instance de AxisCamera */
GestionCamAxis (Component parent_){
parent = parent_;
}
publicvoid connect(){
try{
URL u = new URL(useMJPGStream?mjpgURL:jpgURL);
huc = (HttpURLConnection) u.openConnection();
//System.out.println(huc.getContentType());
InputStream is = huc.getInputStream();
connected = true;
BufferedInputStream bis = new BufferedInputStream(is);
dis= new DataInputStream(bis);
if(!initCompleted) initDisplay();
}catch(IOException e){//Si aucune connexion n'existe, on attend pour se reconnecter à nouveau
try{
huc.disconnect();
Thread.sleep(60);
}catch(InterruptedException ie){huc.disconnect();connect();}
connect();
}catch(Exception e){;}
}
publicvoid readMJPGStream(){//lecture du flux mjpg
readLine(3,dis); //Lecture à partir de la 3ème ligne
readJPG();
readLine(2,dis); //on retire les 2 dernières lignes
}
publicvoid readLine(int n, DataInputStream dis){//utilisée pour sauter les lignes d'en-tête
for(int i=0; i<n;i++){
readLine(dis);
}
}
publicvoid readLine(DataInputStream dis){
try{
boolean end = false;
String lineEnd = "\n"; //On suppose que la fin de la ligne est marqué
byte[] lineEndBytes = lineEnd.getBytes();
byte[] byteBuf = newbyte[lineEndBytes.length];
while(!end){
dis.read(byteBuf,0,lineEndBytes.length);
String t = new String(byteBuf);
//System.out.print(t); //décommenter pour voir à quoi ressemble les lignes
if(t.equals(lineEnd)) end=true;
}
}catch(Exception e){e.printStackTrace();}