Problème de VideoRecording : Développement sur Android


 

Problème de VideoRecording

Ce forum est consacré aux développeurs et au développement pour Android. Trouver de l'aide, des idées, des tutoriaux, des scripts, ... Télécharger Android SDK, le Kit de développement Android.

Problème de VideoRecording

Messagede ToTo81 le Jeu 24 Mar 2011 15:36

Salut,

Je bosse actuellement sur une application permettant d'enregistrer des vidéos.
Tout allait bien jusqu'à ce je passe sous GingerBread (2.3.3).
Depuis lorsque je démarre l'enregistrement, la vue se freeze sur la première image ... et m'indique :

Echec de la lecture de la vidéo
Désolé. impossible de lire cette vidéo.


Le fichier est tout de même crée dans le répertoire prévu sur la carte SD.
Voici le code épuré :

Code: Tout sélectionner
public class EcranMenu extends Activity
{
   
   MapView mapView;
   Button recVideo;
   
   /**
    * Appelée à la création de l'activité
    * @param savedInstanceState
    * @return void
    */
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
       super.onCreate(savedInstanceState);
       
       
        //Récupère la layout contenu dans le fichier de ressource
        setContentView(R.layout.ecranmenu);
        this.setTitle(Outils.titlebar);
        recVideo = (Button) findViewById(R.id.btn3);
       
        //Ouverture / Création de la BDD
        AccesBDD.ouvrirOuCreerBDD(EcranMenu.this);
      AccesBDD.creerTables();
       
       
        recVideo.setOnClickListener(
                                new View.OnClickListener()
                                {
                                   public void onClick(View view)
                                    {
                                      Intent intent = new Intent("android.media.action.VIDEO_CAPTURE");
                                      
                                         File out = new File(Outils.pathMedia, "video.mp4");
                                      Uri uri = Uri.fromFile(out);
                                      intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
                                      startActivityForResult(intent, Outils.VIDEO_CAPTURE);
                                    }
                                }
                             );
   }

   @Override
   public void onActivityResult(int requestCode, int resultCode, Intent data)
   {
      super.onActivityResult(requestCode, resultCode, data);
      
      Intent myIntent;
      Bundle bundle = new Bundle();
      
      switch (resultCode)
      {
         case Activity.RESULT_OK:
            File avant, apres;
            
            //Date / Heure du retour
              final Date now = new Date();
              final SimpleDateFormat formatFilename = new SimpleDateFormat("yyyy-MM-dd HH.mm.ss");
              
            switch (requestCode)
            {
               
               case Outils.VIDEO_CAPTURE:
                  //Renomme le fichier avec la date de la prise de vue
                  avant = new File(Outils.pathMedia, "video.mp4");
                  apres = new File(Outils.pathMedia, formatFilename.format(now) + ".mp4");
                  avant.renameTo(apres);
                  
                  //Ajout de la photo dans la BdD
                  AccesBDD.insererMedia(Outils.pathMedia + formatFilename.format(now) + ".mp4", "", "");
                  
                  //Ouvre la vidéo qui vient d'être prise
                      myIntent = new Intent(this, EcranVideo.class);
                      bundle = new Bundle();
                  bundle.putString("VIDEO", apres.getAbsolutePath());
                  myIntent.putExtras(bundle);
                  Outils.nextTitle(getString(R.string.events));
                  startActivity(myIntent);
                  
                  Outils.imagelist.add(0, apres);
                  //Outils.imagelist.clear();
                  Outils.indexCourant = 0;
                  
                  break;
                  
               
               default :
                  break;
            }
            break;
         case Activity.RESULT_CANCELED:
            File f;
            switch (requestCode)
            {
               case Outils.VIDEO_CAPTURE:
                  Toast.makeText(this, getString(R.string.echecvideo), Toast.LENGTH_LONG).show();
                  f = new File(Outils.pathMedia + "video.mp4");
                  if (f != null && f.exists())
                     f.delete();
                  break;
               
               default :
                  break;
            }
            break;
         default :
            break;
      }
   }
   
    @Override
    protected void onResume()
    {
        super.onResume();
    }

   @Override
    public void onDestroy()
    {
      AccesBDD.fermerBDD();
      super.onDestroy();
    }
}


Ce que je comprend pas, c'est que ça marchait sous la version 2.2, et comme Android fait en sorte que ses versions soient ascendantes au niveau de la compatibilité, si ça marche sous 2.2 ça devrait marcher sous 2.3.3 ... (ou pas ?)

Merci pour votre aide

Pour les log :

http://www.toofiles.com/fr/oip/documents/txt/log.html

++

PS : Dites si quelqu'un s'est penché / se penche encore sur le problème^^
ToTo81
 
Messages: 8
Inscription: Jeu 24 Mar 2011 15:09


Re: Problème de VideoRecording

Messagede ToTo81 le Mer 27 Avr 2011 09:52

Hello !
Toujours pas de réponse ?? :?:

A + :D
ToTo81
 
Messages: 8
Inscription: Jeu 24 Mar 2011 15:09


Développement sur Android



Sujets similaires A Problème de VideoRecording


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron