类 MediaUtils
- java.lang.Object
-
- com.ts.lib.common.util.MediaUtils
-
public final class MediaUtils extends Object
媒体文件工具类- 从以下版本开始:
- 2020/10/15 16:41
- 作者:
- Li Junchao
-
-
字段概要
字段 修饰符和类型 字段 说明 static intUN_SET
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 static booleancheckMediaFileDuration(List<String> list, long startPosition, long playDuration)检测指定的播放位置是否超出了文件的总时长static VideoInfoextractorVideoSize(Context context, Uri uri)提取视轨信息static AudioInfogetAudioInfo(MediaFormat format)从media format里读取audio信息static MediaMetadatagetMetadata(String path)提取MP4文件的MetaDatastatic intgetTrack(MediaExtractor extractor, String format)根据轨道字符串查找轨道indexstatic Map<String,Integer>getTracksMap(MediaExtractor extractor)从MediaExtractor查找媒体文件的trackstatic longgetVideoDuration(String path)获取 video 文件时长static VideoInfogetVideoInfo(MediaFormat format)从MediaFormat里读取video 信息static JSONObjectgetVideoInfo(String path)通过文件路径获取一个媒体文件的信息static voidselectTrack(MediaExtractor extractor, String format)查找视频文件里的轨道,并记录 音轨 、视轨 到全局变量里
-
-
-
字段详细资料
-
UN_SET
public static final int UN_SET
- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
getVideoInfo
public static JSONObject getVideoInfo(String path)
通过文件路径获取一个媒体文件的信息- 参数:
path- 有效的媒体文件路径- 返回:
JSONObject
-
checkMediaFileDuration
public static boolean checkMediaFileDuration(List<String> list, long startPosition, long playDuration)
检测指定的播放位置是否超出了文件的总时长- 参数:
list- 文件列表startPosition- 开始位置playDuration- 播放时长- 返回:
- true 有文件指定的开始播放位置,超出了文件总时长
-
getVideoDuration
public static long getVideoDuration(String path)
获取 video 文件时长- 参数:
path- 资源标识符- 返回:
- long - video duration ; 如果无法解析视频则返回 -1
-
getMetadata
public static MediaMetadata getMetadata(String path)
提取MP4文件的MetaData- 参数:
path- 文件路径- 返回:
- MP4Metadata
MediaMetadata
-
getTrack
public static int getTrack(MediaExtractor extractor, String format) throws IllegalArgumentException
根据轨道字符串查找轨道index- 参数:
extractor-MediaExtractorformat- "audio/" or "video/" 开始- 返回:
- int - 轨道index
- 抛出:
IllegalArgumentException- 如果是无法解析的媒体文件,MediaExtractor.getTrackFormat(int)会抛此异常
-
getTracksMap
public static Map<String,Integer> getTracksMap(MediaExtractor extractor)
从MediaExtractor查找媒体文件的track- 参数:
extractor-MediaExtractor- 返回:
- Map
-
-
selectTrack
public static void selectTrack(MediaExtractor extractor, String format)
查找视频文件里的轨道,并记录 音轨 、视轨 到全局变量里- 参数:
extractor-MediaExtractorformat- "audio/" or "video/" 开始
-
getVideoInfo
public static VideoInfo getVideoInfo(@NonNull MediaFormat format)
从MediaFormat里读取video 信息- 参数:
format- 这里来源于MediaExtractor.getTrackFormat(int)- 返回:
- VideoInfo
VideoInfo
-
getAudioInfo
public static AudioInfo getAudioInfo(MediaFormat format)
从media format里读取audio信息- 参数:
format-- 返回:
- AudioInfo
AudioInfo - 另请参阅:
- KEY_PCM_ENCODING
-
-