ToTo81 Posté(e) 8 avril 2011 Share Posté(e) 8 avril 2011 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éoDé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é : 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^^ Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.