Forums Android

[Problème] Développement Vidéo conférence

[Problème] Développement Vidéo conférence

Message non lupar kevin207 » 08 Déc 2012, 21:05

Bonjour tout le monde !

j'ai comme projet pour mes études le développement d'une application android qui film et envoi en directe le flux sur un serveur web.

Le problème c'est que c'est plus compliqué que je ne le pensais.

Mon application se décompose ainsi : 2 bouton (pour commencer et stopper la transmissions)

ainsi qu'une surface de visualisation

Image

le problème pour l'instant c'est que la surface n'affiche rien ! pourtant quand je quitte l'application j'entend un petit "clac" provenant du focus de la lentille ! preuve que l'application y accède.

Voici actuellement mon code. j'espère que vous pourrez m'aider

Code: Select All Code
package com.videoconference;


import java.io.IOException;

import android.hardware.Camera;
import android.os.Bundle;
import android.app.Activity;
import android.view.SurfaceHolder;
import android.view.SurfaceView;


public class Programme extends Activity implements SurfaceHolder.Callback {
   
   private Camera camera;
    private SurfaceView surfaceCamera;
    private Boolean isPreview;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
       
         // Nous récupérons notre surface pour le preview
        surfaceCamera = (SurfaceView) findViewById(R.id.surfaceView);

    }
   
    public void InitializeCamera() {
       // Nous attachons nos retours du holder à notre activité
       surfaceCamera.getHolder().addCallback(this);
       }
     


    public void surfaceChanged(SurfaceHolder holder, int format, int width,
            int height) {

        // Si le mode preview est lancé alors nous le stoppons
        if (isPreview) {
            camera.stopPreview();
        }
       
        // Nous récupérons les paramètres de la caméra
        Camera.Parameters parameters = camera.getParameters();


        // Nous appliquons nos nouveaux paramètres
        camera.setParameters(parameters);

        try {
            // Nous attachons notre prévisualisation de la caméra au holder de la
            // surface
            camera.setPreviewDisplay(surfaceCamera.getHolder());
        } catch (IOException e) {
        }

        // Nous lançons la preview
        camera.startPreview();

        isPreview = true;
    }

   public void surfaceCreated(SurfaceHolder holder) {
       // Nous prenons le contrôle de la camera
       if (camera == null)
           camera = Camera.open();
   }
   
   public void surfaceDestroyed(SurfaceHolder holder) {
       // Nous arrêtons la camera et nous rendons la main
       if (camera != null) {
           camera.stopPreview();
           isPreview = false;
           camera.release();
       }
   }
   @Override
   public void onResume() {
       super.onResume();
       camera = Camera.open();
   }

   // Mise en pause de l'application
   @Override
   public void onPause() {
       super.onPause();

       if (camera != null) {
           camera.release();
           camera = null;
       }
   }
 
}
kevin207 Gamer Pro
Gamer Pro
Messages: 237
Inscription: 10 Aoû 2010, 20:25
Prénom: Kevin
Pays: France
Sexe: Homme

Re: [Problème] Développement Vidéo conférence

Message non lupar marshallino16 » 10 Déc 2012, 16:52

Bonjour,

Le souci là c'est que rien n'initialise l'affichage de ta camera sur ta surface...
marshallino16 Gamer Argent
Gamer Argent
Messages: 3777
Inscription: 12 Déc 2009, 18:21
Localisation: Toulouse
Pays: France
Sexe: Homme

Re: [Problème] Développement Vidéo conférence

Message non lupar kevin207 » 10 Déc 2012, 21:07

Ah bon ? c'est pas la fonction de camera.setPreviewDisplay(surfaceCamera.getHolder()); ?
kevin207 Gamer Pro
Gamer Pro
Messages: 237
Inscription: 10 Aoû 2010, 20:25
Prénom: Kevin
Pays: France
Sexe: Homme

Re: [Problème] Développement Vidéo conférence

Message non lupar marshallino16 » 11 Déc 2012, 16:41

Ops pardon, je n'avais pas vu le

Code: Select All Code
 surfaceCamera = (SurfaceView) findViewById(R.id.surfaceView);


Question débile mais sait-on jamais, as-tu mis la permission d'accès à la camera dans ton manifest ?
marshallino16 Gamer Argent
Gamer Argent
Messages: 3777
Inscription: 12 Déc 2009, 18:21
Localisation: Toulouse
Pays: France
Sexe: Homme

Re: [Problème] Développement Vidéo conférence

Message non lupar kevin207 » 11 Déc 2012, 20:20

Oui j'ai mis les 3 lignes que voici :

<uses-permission android:name="android.permission.CAMERA"></uses-permission>
<uses-feature android:name="android.hardware.camera"></uses-feature>
<uses-feature android:name="android.hardware.camera.autofocus"></uses-feature>
kevin207 Gamer Pro
Gamer Pro
Messages: 237
Inscription: 10 Aoû 2010, 20:25
Prénom: Kevin
Pays: France
Sexe: Homme


 

Retourner vers Entraide et assistance au développement