创新互联鸿蒙OS教程:鸿蒙OS媒体元数据获取开发指导
场景介绍

为枣强等地区用户提供了全套网页设计制作服务,及枣强网站建设行业解决方案。主营业务为成都做网站、网站制作、成都外贸网站建设、枣强网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
媒体元数据是描述多媒体数据的数据,例如媒体标题、媒体时长、媒体的帧数据等。
接口说明
| 接口名 | 描述 |
|---|---|
| setSource(String path) | 读取指定路径的媒体文件,将其设置为媒体源。 |
| setSource(FileDescriptor fd) | 读取指定的媒体文件描述符,设置媒体源。 |
| setSource(FileDescriptor fd, long offset, long length) | 读取指定的媒体文件描述符,读取数据的起始位置的偏移量以及读取的数据长度,设置媒体源。 |
| setSource(String uri, Map | 读取指定的媒体文件 Uri,设置媒体源。 |
| setSource(Context context, Uri uri) | 读取指定的媒体的 Uri 和上下文,设置媒体源。 |
| resolveMetadata(int keyCode) | 获取媒体元数据中指定 keyCode 对应的值。 |
| fetchVideoScaledPixelMapByTime(long timeUs, int option, int dstWidth, int dstHeight) | 根据视频源中时间戳、获取选项以及图像帧缩放大小,获取帧数据。 |
| fetchVideoPixelMapByTime(long timeUs, int option) | 根据视频源中时间戳和获取选项,获取帧数据。 |
| fetchVideoPixelMapByTime(long timeUs) | 根据视频源中时间戳,获取最靠近时间戳的帧的数据。 |
| fetchVideoPixelMapByTime() | 随机获取数据源中某一帧的数据。 |
| resolveImage() | 获取音频源中包含的图像数据,比如专辑封面,如果有多个图像,返回任意一个图像的数据。 |
| fetchVideoPixelMapByIndex(int frameIndex, PixelMapConfigs configs) | 根据指定的图像像素格式选项,获取视频源中指定一帧的数据。 |
| fetchVideoPixelMapByIndex(int frameIndex) | 获取视频源中指定一帧的数据。 |
| fetchVideoPixelMapByIndex(int frameIndex, int numFrames, PixelMapConfigs configs) | 根据指定的图像像素格式选项,获取视频源中指定的连续多帧的数据。 |
| fetchVideoPixelMapByIndex(int frameIndex, int numFrames) | 获取视频源中指定的连续多帧的数据。 |
| fetchImagePixelMapByIndex(int imageIndex, PixelMapConfigs configs) | 根据指定的图像像素格式选项,获取源图像中指定的图像。 |
| fetchImagePixelMapByIndex(int imageIndex) | 获取源图像中指定的图像。 |
| fetchImagePrimaryPixelMap(PixelMapConfigs configs) | 据指定的图像像素格式选项,获取源图像中默认图像。 |
| fetchImagePrimaryPixelMap() | 获取源图像中默认图像。 |
| release() | 释放读取的媒体资源。 |
获取帧数据的开发步骤
- 创建媒体数据管理 AVMetadataHelper 对象,可以通过 setSource 设置要读取的媒体文件,如果不设置或设置不正确,则无法进行后续操作。
AVMetadataHelper avMetadataHelper = new AVMetadataHelper ();
avMetadataHelper.setSource("/path/short_video.mp4");
- 指定获取帧数据的选项,以及获取帧的时间,获取媒体源的帧数据。
PixelMap pixelMap = avMetadataHelper.fetchVideoPixelMapByTime(1000L, 0x00);
- 获取到 PixelMap 对象后,调用 release()函数释放读取的媒体资源。
avMetadataHelper.release();
获取媒体元数据的开发步骤
- 创建媒体数据管理 AVMetadataHelper 对象,可以通过 setSource 设置要读取的媒体文件,如果不设置或设置不正确,则无法进行后续操作。
AVMetadataHelper avMetadataHelper= new AVMetadataHelper();
avMetadataHelper.setSource("/path/short_video.mp4");
- 指定要获取的媒体元数据的 key,获取媒体元数据。如下代码获取媒体的时长信息:
String result = avMetadataHelper.resolveMetadata(AVMetadataHelper.AV_KEY_DURATION);
- 获取到媒体元数据后,调用 release()函数释放读取的媒体资源。
avMetadataHelper.release();
获取音频的图像数据的开发步骤
- 创建媒体数据管理 AVMetadataHelper 对象,可以通过 setSource 设置要读取的音频媒体文件,如果不设置或设置不正确,则无法进行后续操作。
AVMetadataHelper avMetadataHelper= new AVMetadataHelper();avMetadataHelper.setSource("/path/short_video.mp4");
- 获取音频的图像数据。
byte[] data = avMetadataHelper.resolveImage();
- 获取到图像数据后,调用 release()函数释放读取的媒体资源。
avMetadataHelper.release(); 分享标题:创新互联鸿蒙OS教程:鸿蒙OS媒体元数据获取开发指导
网址分享:http://www.jxjierui.cn/article/dpcpieo.html


咨询
建站咨询
