您的位置:首页 > 移动开发 > Android开发

android 添加或者取消对于某种媒体文件格式的支持

2014-12-05 13:32 417 查看
一、添加某些格式

以rmvb格式为例,由于lisence问题,将一个rmvb格式视频文件拷贝到手机的SD卡上,该文件无法显示为视频文件;若贵司有预装第三方apk来支持播放该格式视频,可以按照下面的方法,添加对rmvb格式的支持。

在frameworks\base\media\java\android\media\MediaFile.java中:约270行左右,添加RMVB格式的mimeType:



addFileType("***I", FILE_TYPE_***I, "video/avi");

addFileType("MOV", FILE_TYPE_QUICKTIME_VIDEO, "video/quicktime");

addFileType("QT", FILE_TYPE_QUICKTIME_VIDEO, "video/quicktime");

addFileType("RMVB", FILE_TYPE_RMVB, "video/x-pn-realvideo");//添加RMVB



然后编译framework/base模块,将生成的framework.jar和secondary-framework.jar给push到手机中,然后重启手机:

adb push framework.jar system/framework

adb push secondary-framework.jar system/framework

adb reboot



二、取消某种格式

以WMA/WMV格式为例,若贵司希望取消对于该种格式的支持,可以按下面步骤修改:

第一步 该种格式的mime type原本为video\audio改为未知

修改frameworks\base\media\java\android\media\MediaFile.java

//addFileType(“WMV”, FILE_TYPE_WMV, “video/x-ms-wmv” , MtpConstants.FORMAT_WMV);

//addFileType(“ASF”, FILE_TYPE_ASF, “video/x-ms-asf”);

//addFileType("WMA", FILE_TYPE_WMA, "audio/x-ms-wma", MtpConstants.FORMAT_WMA);



若希望彻底去掉对应的video codec,可继续第二、三步。

第二步 查找下面文件是否有宏MTK_ASF_PLAYBACK_SUPPORT(JB2,JB3,JB5)或者MTK_WMV_PLAYBACK_SUPPORT和MTK_WMA_PLAYBACK_SUPPORT(JB9,kk)

alps\mediatek\config\Project Name\ProjectConfig.mk

alps\mediatek\config\Platform Name\ProjectConfig.mk

alps\mediatek\config\commone\ProjectConfig.mk

若有,

请将MTK_ASF_PLAYBACK_SUPPORT置为no;

请将MTK_WMV_PLAYBACK_SUPPORT置为no;

请将MTK_WMA_PLAYBACK_SUPPORT置为no;



第三步 修改media_codecs.xml文件

mediatek\config\common\media_codecs.xml

mediatek\config\Platform Name\media_codec.xml

去掉:

<MediaCodec name=”OMX.MTK.VIDEO.DECODER.VC1” type=”video/x-ms-wmv”>

<MediaCodec name="OMX.MTK.AUDIO.DECODER.WMA" type="audio/x-ms-wma" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: