Wo hin speichert ACTION_VIDEO_CAPTURE intent?

  • Antworten:2
Andreas Engel
  • Forum-Beiträge: 14

06.06.2011, 14:35:39 via Website

Hallo,

ich versuche hier mit einem Intent ein Video aufzuzeichnen.
Anschließend soll das Video in ein bestimmtes Verzeichnis kopiert werden.

1case R.id.miRecordVideo:
2
3 mediaCacheName = "Video";
4 basename += " " + mediaCacheName;
5 mediafile = new File(directory + "/" + basename + ".3gp");
6
7 ContentValues values = new ContentValues();
8 values.put(MediaStore.Video.Media.TITLE, "captureTemp.mp4");
9 cameraVideoURI = getContentResolver().insert(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, values);
10
11 final Intent videointent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
12 videointent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(mediafile));
13 videointent.putExtra(MediaStore.EXTRA_VIDEO_QUALITY, 0);
14 startActivityForResult(videointent, CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE);
15 break;

Eigentlich hätte ich vermutet, dass ich damit schon das Zielverzeichnis angegeben hätte. Aber leider landet das Video dort nicht.

1// Intent Result Record Video
2if (requestCode == CAPTURE_VIDEO_ACTIVITY_REQUEST_CODE) {
3 if (resultCode == RESULT_OK){
4
5 String[] projection = { MediaStore.Video.Media.DATA, MediaStore.Video.Media.SIZE };
6 Cursor cursor = managedQuery(cameraVideoURI, projection, null, null, null);
7 int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.DATA);
8 cursor.moveToFirst();
9 String recordedVideoFilePath = cursor.getString(column_index_data);
10
11 String ext = Global.GetFileExtension(recordedVideoFilePath);
12 String MediaFolder = Config.GetString("UserImageFolder");
13
14 // Video in Media-Ordner verschieben
15 File source = new File(recordedVideoFilePath);
16 File destination = new File(MediaFolder + "/" + basename + "." + ext);
17 // Datei wird umbenannt/verschoben
18 if(!source.renameTo(destination))
19 {
20 Log.d("DC","Fehler beim Umbenennen der Datei: " + source.getName());
21 }
22
23
24 return;
25 }
26 }

Ich erhalte im cameraVideoURI den Inhalt "content://media/external/video/media/23" zurück.
Diesen Pfad gibt es auf meiner Speicherkarte aber nicht.

Statt dessen habe ich das Video unter /sdcard/DCIM/100MEDIA/Video0015.3gp wieder gefunden.

Wo liegt mein Gedankenfehler?
Bzw. Wie bekomme ich den Pfad heraus, wo das Viedo abgelegt wurde?

Vielen Dank

Andreas

Antworten
Andreas Engel
  • Forum-Beiträge: 14

07.06.2011, 09:58:51 via Website

Ich habe jetzt dieses Beispiel gefunden

http://geek.gankahhwee.com/2010/11/19/android-invoking-camera-to-take-picturevideo/

Dort wird eine Datei im gewünschten Verzeichnis angelegt.

Aber leider sind die Dateien 0 Byte groß :angry:

Im Internet finden sich hunderte von Artikeln, in den das gleiche Problem beschrieben wird, aber nirgends ist eine Lösung zu finden.

Kann jemand von Euch helfen?
Oder kennt jemand ein OpenSource-Projekt, wo man abschauen kann?

Vielen Dank

Andreas

Antworten
Andreas Engel
  • Forum-Beiträge: 14

13.06.2011, 18:54:48 via Website

Hat keiner eine Idee für mich ?

Antworten