2013-05-13 62 views
0

我試圖檢索使用ACTION_GET_CONTENT意圖選擇的視頻緯度經度/長度。 我有以下代碼:試圖檢索視頻經緯度時不存在列「緯度」

int data_column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); 
int lat_column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.LATITUDE); 
int long_column_index = cursor.getColumnIndexOrThrow(MediaStore.Video.Media.LONGITUDE); 

我得到這個例外在LATITUTDE /經度列:

java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://media/external/video/media/1749 flg=0x1 }} to activity {}: java.lang.IllegalArgumentException: **column 'latitude' does not exist** 

我很想從誰的人有經驗檢索經/緯的任何反饋視頻/圖像

回答

1

Android使用MediaMetadataRetriever類中的一個新常量METADATA_KEY_LOCATION來讓應用程序訪問圖像和視頻的位置信息。鏈接到文件here

例(未經測試,但拼湊在一起):

MediaMetadataRetriever mediaMetadataRetriever = new MediaMetadataRetriever(); 
mediaMetadataRetriever.setDataSource(_currentVideoFile.getAbsolutePath()); 
String location = mediaMetadataRetriever 
       .extractMetadata(MediaMetadataRetriever.METADATA_KEY_LOCATION); 

根據文檔這應該給你LAT /只要字符串"-90.0000+180.0000"作爲解釋here

希望有所幫助。