android怎么把MP4文件放入sdk中
2个回答
展开全部
Android怎么把MP4文件放入sdk中
随着Android 4.4及以上版本的逐渐普及,Android 4.1引入的MediaExtractor类,以及Android 4.3引入的MediaMuxer类,终于可以开始正式地“发光发热”了。
MediaMuxer类主要用于将音频和视频数据进行混合生成多媒体文件(如:mp4文件),而MediaExtractor则刚好相反,主要用于多媒体文件的音视频数据的分离。
本文将介绍如何利用Android SDK提供的MediaExtractor和MediaMuxer类来完成mp4文件的提取和生成,指出开发过程中会遇到的坑,并给出简单的Demo示例代码。
Demo的目标:提取input.mp4文件中的视频数据,生成除去音频数据之后的纯视频output.mp4文件。代码可以在本博文最后的附件中下载,也可以到我的Github中下载:
https://github.com/Jhuster/Android/tree/master/MediaDemo
由于Android SDK关于这两个类的介绍真是少之又少,因此,在给出demo之前,我们先简单地了解一下这两个类吧。
1. MediaExtractor
该类主要用于音视频混合数据的分离,接口比较简单,首先要通过setDataSource(String path)函数设置数据源,数据源可以是本地文件地址,也可以使用HTTP协议的网络码流地址。
然后,可以通过下面的代码块,来获取码流的详细信息,如:MimeType,分辨率、编码格式、码率、帧率等等。
int videoTrackIndex = -1;
int audioTrackIndex = -1;
for(int i = 0; i < mMediaExtractor.getTrackCount(); i++) {
随着Android 4.4及以上版本的逐渐普及,Android 4.1引入的MediaExtractor类,以及Android 4.3引入的MediaMuxer类,终于可以开始正式地“发光发热”了。
MediaMuxer类主要用于将音频和视频数据进行混合生成多媒体文件(如:mp4文件),而MediaExtractor则刚好相反,主要用于多媒体文件的音视频数据的分离。
本文将介绍如何利用Android SDK提供的MediaExtractor和MediaMuxer类来完成mp4文件的提取和生成,指出开发过程中会遇到的坑,并给出简单的Demo示例代码。
Demo的目标:提取input.mp4文件中的视频数据,生成除去音频数据之后的纯视频output.mp4文件。代码可以在本博文最后的附件中下载,也可以到我的Github中下载:
https://github.com/Jhuster/Android/tree/master/MediaDemo
由于Android SDK关于这两个类的介绍真是少之又少,因此,在给出demo之前,我们先简单地了解一下这两个类吧。
1. MediaExtractor
该类主要用于音视频混合数据的分离,接口比较简单,首先要通过setDataSource(String path)函数设置数据源,数据源可以是本地文件地址,也可以使用HTTP协议的网络码流地址。
然后,可以通过下面的代码块,来获取码流的详细信息,如:MimeType,分辨率、编码格式、码率、帧率等等。
int videoTrackIndex = -1;
int audioTrackIndex = -1;
for(int i = 0; i < mMediaExtractor.getTrackCount(); i++) {
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询