ExifInterface仅写入GPS速度参考值,速度值不生效问题排查
问题:Exif元数据仅写入速度参考值,无速度数值
我尝试了以下代码:
exif.setAttribute( ExifInterface.TAG_GPS_SPEED, "50" ) exif.setAttribute( ExifInterface.TAG_GPS_SPEED_REF, ExifInterface.GPS_SPEED_KILOMETERS_PER_HOUR )
生成的Exif元数据如下:
[GPS] Speed Ref : K
仅存在速度参考值,无速度数值。这是什么原因?
更新
我尝试使用ExifInterface.setGpsInfo(Location)方法:
val exif = ExifInterface(parcelFileDescriptor.fileDescriptor) exif.setGpsInfo(location) exif.saveAttributes() parcelFileDescriptor.close()
该方法内部设置速度的代码如下:
setAttribute(TAG_GPS_SPEED_REF, "K"); setAttribute(TAG_GPS_SPEED, new Rational(location.getSpeed() * TimeUnit.HOURS.toSeconds(1) / 1000).toString());
但问题依然存在:仅显示速度参考值,无速度数值。其他GPS数据(坐标、海拔,不过海拔被保存为0)均正常写入,且已确认location.speed不为0。
当前Exif元数据:
[GPS] Latitude : PRIVATE Altitude : 0.00 Latitude Ref : North Processing Method : fused Altitude Ref : Above Sea Level Speed Ref : K Longitude Ref : East TimeStamp : 18 43 58 Longitude : PRIVATE Date Stamp : 2023:12:18
内容的提问来源于stack exchange,提问作者user924
相关产品推荐
相关产品推荐

