Android 获取播放视频的相关 内容, 分辨率, 方向,作者信息
16lz
2021-01-23
MediaMetadataRetriever retr = new MediaMetadataRetriever(); retr.setDataSource(videoPath); String height = retr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_HEIGHT); // 视频高度 String width = retr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_WIDTH); // 视频宽度 String rotation = retr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_VIDEO_ROTATION); // 视频旋转方向
还有 很多的信息 可以获取 需要注意的时, 获取到的 都是String 类型 需要自己转换成 相应类型 建议转换成 float 应为 即使是整数,转成float 也没有问题 但是小数string 转 int 就有问题而来
/** * The metadata key to retrieve the numeric string describing the * order of the audio data source on its original recording. */ public static final int METADATA_KEY_CD_TRACK_NUMBER = 0; /** * The metadata key to retrieve the information about the album title * of the data source. */ public static final int METADATA_KEY_ALBUM = 1; /** * The metadata key to retrieve the information about the artist of * the data source. */ public static final int METADATA_KEY_ARTIST = 2; /** * The metadata key to retrieve the information about the author of * the data source. */ public static final int METADATA_KEY_AUTHOR = 3; /** * The metadata key to retrieve the information about the composer of * the data source. */ public static final int METADATA_KEY_COMPOSER = 4; /** * The metadata key to retrieve the date when the data source was created * or modified. */ public static final int METADATA_KEY_DATE = 5; /** * The metadata key to retrieve the content type or genre of the data * source. */ public static final int METADATA_KEY_GENRE = 6; /** * The metadata key to retrieve the data source title. */ public static final int METADATA_KEY_TITLE = 7; /** * The metadata key to retrieve the year when the data source was created * or modified. */ public static final int METADATA_KEY_YEAR = 8; /** * The metadata key to retrieve the playback duration of the data source. */ public static final int METADATA_KEY_DURATION = 9; /** * The metadata key to retrieve the number of tracks, such as audio, video, * text, in the data source, such as a mp4 or 3gpp file. */ public static final int METADATA_KEY_NUM_TRACKS = 10; /** * The metadata key to retrieve the information of the writer (such as * lyricist) of the data source. */ public static final int METADATA_KEY_WRITER = 11; /** * The metadata key to retrieve the mime type of the data source. Some * example mime types include: "video/mp4", "audio/mp4", "audio/amr-wb", * etc. */ public static final int METADATA_KEY_MIMETYPE = 12; /** * The metadata key to retrieve the information about the performers or * artist associated with the data source. */ public static final int METADATA_KEY_ALBUMARTIST = 13; /** * The metadata key to retrieve the numberic string that describes which * part of a set the audio data source comes from. */ public static final int METADATA_KEY_DISC_NUMBER = 14; /** * The metadata key to retrieve the music album compilation status. */ public static final int METADATA_KEY_COMPILATION = 15; /** * If this key exists the media contains audio content. */ public static final int METADATA_KEY_HAS_AUDIO = 16; /** * If this key exists the media contains video content. */ public static final int METADATA_KEY_HAS_VIDEO = 17; /** * If the media contains video, this key retrieves its width. */ public static final int METADATA_KEY_VIDEO_WIDTH = 18; /** * If the media contains video, this key retrieves its height. */ public static final int METADATA_KEY_VIDEO_HEIGHT = 19; /** * This key retrieves the average bitrate (in bits/sec), if available. */ public static final int METADATA_KEY_BITRATE = 20; /** * This key retrieves the language code of text tracks, if available. * If multiple text tracks present, the return value will look like: * "eng:chi" * @hide */ public static final int METADATA_KEY_TIMED_TEXT_LANGUAGES = 21; /** * If this key exists the media is drm-protected. * @hide */ public static final int METADATA_KEY_IS_DRM = 22; /** * This key retrieves the location information, if available. * The location should be specified according to ISO-6709 standard, under * a mp4/3gp box "@xyz". Location with longitude of -90 degrees and latitude * of 180 degrees will be retrieved as "-90.0000+180.0000", for instance. */ public static final int METADATA_KEY_LOCATION = 23; /** * This key retrieves the video rotation angle in degrees, if available. * The video rotation angle may be 0, 90, 180, or 270 degrees. */ public static final int METADATA_KEY_VIDEO_ROTATION = 24; /** * This key retrieves the original capture framerate, if it's * available. The capture framerate will be a floating point * number. */ public static final int METADATA_KEY_CAPTURE_FRAMERATE = 25;
更多相关文章
- Android音视频处理之MediaMuxer
- Android 获取缩略图,网络视频,或者本地视频
- Ijkplayer视频播放
- Android 视频编辑问题记录
- Android app的音视频播放功能
- Android获取SD卡视频音频文件
- Android 文件上传支持拍照录用录视频
- Android IOS WebRTC 音视频开发总结(八)-- iosWebRTCDemo
- Android视频播放项目总结之 使用第三方Vitamio库,开发万能播放器(