Vote count:
0
I am trying to get the metadata for the video files stored on my app's user's phone. I can get the file name, id, date taken and so on. However, latitude and longitude data always returns as 0.0. I have been referring to this:
http://ift.tt/1G2b3hm
Yes, I am already enabling use location in my settings. I have a very similar function to this for images which works fine.
public ArrayList<Clip> getLocalVideoFiles(Context context) {
Log.d("Currently running","getLocalVideoFile");
ArrayList<Clip> localClips = new ArrayList<Clip>();
ContentResolver videoResolver = context.getContentResolver();
Uri videoUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
String test = getRealPathFromURI(context, videoUri);
Log.d("videoUri: ",test);
Cursor videoCursor = videoResolver.query(videoUri, null, null, null, null);
if(videoCursor!=null && videoCursor.moveToFirst()){
//get columns
int idColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media._ID);
int titleColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media.TITLE);
int dateTakenColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media.DATE_TAKEN);
int durationColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media.DURATION);
int latColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media.LATITUDE);
int lonColumn = videoCursor.getColumnIndex
(MediaStore.Video.Media.LONGITUDE);
do {
String thisId = videoCursor.getString(idColumn);
String thisTitle = videoCursor.getString(titleColumn);
String thisDateTaken = videoCursor.getString(dateTakenColumn);
int thisDuration = videoCursor.getInt(durationColumn);
String thisLat = Double.toString(videoCursor.getDouble(latColumn));
String thisLon = Double.toString(videoCursor.getDouble(lonColumn));
Clip thisClip = new Clip( thisId, thisTitle, "none", thisDateTaken, thisDuration, thisLat, thisLon, false, true);
localClips.add(thisClip);
Log.d("video ID",thisId);
Log.d("video title",thisTitle);
Log.d("video Date Taken",thisDateTaken);
Log.d("video Duration",Integer.toString(thisDuration));
Log.d("video Latitude",thisLat);
Log.d("video Longitude",thisLon);
}
while (videoCursor.moveToNext());
}
return localClips;
}
This hints at an answer: Geotagging a captured video But, it is not quite there. So, I guess my question is: how can I access the extra file data for mp4s in Android? (or, is there a better way to do it?) I need the location of video files that have already been taken.
Thanks in advance!
asked 1 min ago
How can I get the location data of a video in Android?
Aucun commentaire:
Enregistrer un commentaire