我想用媒体播放器播放安卓动态照片。但我不想使用 mediaPlayer.setDataSource(fileDescriptor, offset, length)。因为我没有得到华为设备的动态照片的补偿。如何获取所有设备动态照片的偏移量,或者是否可以使用 mediaPlayer.setDataSource(path, headers) 代替?我听说过一个名为“ftypmp42”的标头。在这种情况下如何使用它?
问问题
62 次
1 回答
0
你可以参考这个,我已经做了一些我可以告诉你的事情,这可能会帮助你找到偏移量并玩
XmpUtil xmp = new XmpUtil();
XMPMeta meta = xmp.extractOrCreateXMPMeta(jpegFile.getAbsolutePath());
haveVideoValue = meta.getProperty("http://ns.google.com/photos/1.0/camera/","GCamera:MicroVideo");
offset=meta.getProperty("http://ns.google.com/photos/1.0/camera/","GCamera:MicroVideoOffset");
//使用媒体播放器播放视频
FileInputStream inputStream = new FileInputStream(filePath);
MediaPlayer mp = new MediaPlayer();
mp.setDataSource(inputStream.getFD(), finalJpegFile.length() - Long.valueOf(finalOffset1), Long.valueOf(finalOffset1));
mp.prepare();
inputStream.close();
mp.setDisplay(surface.getHolder());
mp.setLooping(true);
mp.start();
信用:- https://medium.com/android-news/working-with-motion-photos-da0aa49b50c
于 2021-06-30T05:57:39.503 回答