Andreas Engel
- Forum-Beiträge: 14
06.06.2011, 14:35:39 via Website
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.
Eigentlich hätte ich vermutet, dass ich damit schon das Zielverzeichnis angegeben hätte. Aber leider landet das Video dort nicht.
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
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;
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 }
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
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.