gaseoussteam是什么意思eoussteam在线翻译读-环保服装设计
2023年4月4日发(作者:特纳电视网)
MediaMetadataRetriever类、方法以及使用详解
MediaMetadataRetriever类简单介绍
(1)属于在androidapi的那个包下:`etadataRetriever`
(2)类简单介绍:
MediaMetadataRetriever类提供了用于从输入媒体文件检索帧和元数据的统一接口。
(3)这个是android提供的类,用来获取本地和网络media相关文件的信息
MediaMetadataRetriever常量以及属性进行简单介绍
(1)METADATA_KEY_ALBUM:检索数据源的专辑标题信息的元数据键。
(2)METADATA_KEY_ALBUMARTIST:检索与数据源相关的表演者或艺术家的信息的元数据键。
(3)METADATA_KEY_ARTIST:检索有关数据源的艺术家的信息的元数据键。
(4)METADATA_KEY_AUTHOR:检索有关数据源作者的信息的元数据键
(5)METADATA_KEY_BITRATE:此键检索平均比特率(以比特/秒),如果可用的话。
(6)METADATA_KEY_CD_TRACK_NUMBER:元数据关键字,用于检索描述原始数据记录中音频数据源的顺序的数字字符串。
(7)METADATA_KEY_COMPILATION:检索音乐专辑编辑状态的元数据键
(8)METADATA_KEY_COMPOSER:检索有关数据源的作曲家的信息的元数据键
(9)METADATA_KEY_DATE:检索或创建数据源时的日期的元数据键
(10)METADATA_KEY_DISC_NUMBER:用于检索描述音频数据源的集合的哪一部分的数字字符串的元数据键
(11)METADATA_KEY_DURATION:检索数据源回放持续时间的元数据键
(12)METADATA_KEY_GENRE:检索数据源的内容类型或类型的元数据键
(13)METADATA_KEY_HAS_AUDIO:如果存在此密钥,则媒体包含音频内容
(14)METADATA_KEY_HAS_VIDEO:如果存在此密钥,则媒体包含视频内容
(15)METADATA_KEY_LOCATION:此键检索位置信息,如果可用的话。该位置应根据ISO-6709标准,在MP4/3GP框“@XYZ”下指定。例如,经度为90度和纬度为180度的位置将被检索为“-90+180”。
(16)METADATA_KEY_MIMETYPE:检索数据源MIME类型的元数据键。一些示例MIME类型包括:\"video/mp4\",\"audio/mp4\",\"audio/amr-wb\"
(17)METADATA_KEY_NUM_TRACKS:元数据键,用于检索数据源(如MP4或3GPP文件)中的音轨的数目,如音频、视频、文本。
(18)METADATA_KEY_TITLE:检索数据源标题的元数据键
(19)METADATA_KEY_VIDEO_HEIGHT:如果媒体包含视频,则该键检索其高度
(20)METADATA_KEY_VIDEO_ROTATION:此键检索视频旋转角度观猎王维赏析 的程度,如果描写大海的诗句 可用的话。视频旋转角度可以是0,90,180度,也可以是270度
(21)METADATA_KEY_VIDEO_WIDTH:如果媒体包含视频,则该密钥检索其宽度
(22)METADATA_KEY_WRI应是暗香盈袖 TER:检索数据源的作者(如歌词作者)信息的元数据键
(23)METADATA_KEY_YEAR:检索创建或修改数据源的一年的元数据密钥
(24)OPTION_CLOSEST:此选项与GETFrimeTimeTime(long,int)一起使用,以检索与最接近或给定时间的数据源相关联的帧(不一定是关键帧)
(25)OPTION_CLOSEST_SYNC:(时间)或给定时间的数据源相关联的同步(或密钥)帧。
(26)OPTION_NEXT_SYNC:此选项与GETFrimeTimeTime(long,int)一起使用,以检索与数据源相关联的同步(或密钥)帧,该数据源位于或在给定的时间之后。
(27)OPTION_PREVIOUS_SYNC:此选项与GETFrimeTimeTime(long,int)一起使用,以检索与数据源相关联的同步(或密钥)帧,该数据源正好位于给定时间之前或给定时间
MediaMetadataRetriever获取这个对象的方法
publicMediaMetadataRetriever()
MediaMeta2022歌颂祖国的诗歌朗诵短篇 dataRetriever中的使用方法进行详细介绍
(1)publicStringextractMetadata(intkeyCode)
方法描述:在setDataSource()之后调用此方法。此方法检索与键值相关联的元数据值。当前支持的键代码被列为MetaDATAXXXX常量。使用任何其他值,它返回空指针
(2)publicbyte[]getEmbeddedPicture()
方法描述:在setDataSource()之后调用此方法。此方法找到与数据源相关联的可选图形或相册/封面艺术。如果有超过一张照片,(任何)其中一个被退还
(3)publicBitmapgetFrameAtTime(longtimeUs,intoption)
方法介绍:在setDataSource()之后调用此方法。该方法通过考虑给定的选项,在给定的时间位置找到具有代表性的帧,并将其作为位图返回。这对于生成输入数据源的缩略图或在给定的时间位置获得和显示帧是有用的。
timeUs:帧将被检索的时间位置。当在给定的时间位置检索帧时,不能保证数据源具有位于该位置的帧。当这种情况发生时,附近的一个框架将被返回。如果TimeSo为负,则将忽略时间位置和选项,并且可以将实现视为代表的任何帧返回
option:关于如何找到框架的提示。如果希望检索一个具有比TimeS更早或相同的时间戳的同步帧,请使用opthyPyviousSyc。如果希望检索一个比TimeS晚于或相同的时间戳的同步帧,请使用opthyNXTySyc。如果想检索一个同步帧,它的时间戳与TimeS最
(4)publicBitmapgetFrameAtTime(longtimeUs)
方法介绍:在setDataSource()之后调用此方法。如果可能的话,该方法找到一个接近给定时间位置的有代表性的帧,并将其作为位图返回。这对于生成输入数据源的缩略图是有用的。如果不关心帧是如何找到的,只要它接近给定的时间,调用这个方法;否则
timeUs:帧将被检索的时间位置。当在给定的时间位置检索帧时,不能保证数据源具有位于该位置的帧。当这种情况发生时,附近的一个框架将被返回。如果TimeSo为负,则将忽略时间位置和选项,并且可以将实现视为代表的任何帧返回
(5)publicBitmapgetFrameAtTime()
方法介绍:在setDataSource()之后调用此方法。如果可能的话,该方法在任何时间位置找到一个有代表性的帧,并将其作为位图返回。这对于生成输入数据源的缩略图是有用的。如果不关心框架的位置,请调用此方法;否则,请调用getFrameAtTime:(lo
(6)publicvoidrelease()
方法介绍:当一个对象完成时调用它。此方法释放内存内部分配的内存
(7)publicvoidsetDataSource(FileDescriptorfd,longoffset,longlength)
fd要播放的文件的文件描述符
offset开始位置
length结束位置
(8)publicvoidsetDataSource(Stringpath)
方法介绍:这个方法主要是设置media类型文件的路径,包括音视频等
(9)publicvoidsetDataSource(FileDescriptorfd)
方法介绍:这个是是设置文件的描述符
(10)publicvoidsetDataSource(Stringuri,Map
方法介绍:设置网络音视频url地址,第二个参数是设置参数的请求头
(11)publicvoidsetDataSource(Contextcontext,Uriuri)
方法介绍:设置血丝的拼音 网络media文件的url路径
MediaMetadataRetriever简单使用
(1)第一个案例:获取网络视频的第吴质不眠倚桂树典故 一帧图片
publicstaticBitmapgetBitmap(Contextcontext,Stringurl,booleanisSD){
Bitmapbitmap=null;
//MediaMetadataRetriever是android中定义好的一个类,提供了统一
//的接口,用于从输入的媒体文件中取得帧和元数据;
MediaMetadataRetrieverretriever=newMediaMetadataRetriever();
try{
if(isSD){
//()根据文件路径获取缩略图
aSource(context,le(newFile(url)));
}else{
//根据网络路径获取缩略图
aSource(url,newHashMap());
}
//获得第一帧图片
bitmap=meAtTime();
}catch(IllegalArgumentExceptione){
tackTrace();
}finally{
e();
}
returnbitmap;
}
(2)第二个案例:获取音频文件的时间:
`publicstaticStringgetRingDuring(StringmUri){
Stringduration=null;
etadataRetrievermmr=etadataRetriever();
try{
if(mUri!=null){
HashMap
if(headers==null){
headers=newHa再别康桥是写给谁的
shMap
}
aSource(mUri,headers);
}
duration=tMetadata(TA_KEY_DURATION);
}catch(Exceptionex){
}finally{
e();
e();
}
returnduration;
}
`
以上的这两个案例是获取网络url的信息,本地的获取方法在这里我就不做阐述了,是和上面的用法几乎一样
注意:获取网络url现在不支持https协议的获取
更多推荐
retriever是什么意思riever在线翻译读音
发布评论