最近在做一个app,里边有音视频处理的业务。包括从视频中抽取音频、对音频进行切割、替换、合并,最终将音频合成到视频中等等。
以上功能均实现。但在播放时却出了一个问题,就是使用seekto方法去按照每一句对话(比如音乐中的每一句歌词)进行精准定位。同样一个视频,在IOS基本ok,但在Android中却不能达到效果。
一直在查找解决方案,了解到了关键帧的问题,初步是从视频源去解决,将关键帧加的密集或者按照每句话开始结束时间进行关键帧(key frame)添加。
如果将关键帧加的密集带来的问题是视频容量成倍增大,显然不行,需要找一个合适的密集度进行添加关键帧。加入1秒有20帧的话,50毫秒是一帧,可以让2–6帧加一个关键帧,密集度越大,空间占用越小。这是一个暂时的方案去进行。
我也在官网查询方法,无意间看到最新的api26中对seekto方法新增了参数mode,看起来是一种模式,我准备下载最新的模拟器进行尝试,之后有好的结果,会写到这里,这算是第二种方案,但不能应用于线上,因为这个版本的手机目前凤毛麟角。做为以后优化的方案吧。但Google也在这方面加入了大量的处理,赞赞赞!(((o(゚▽゚)o)))
2017年11月7日 20:27:49
–以下来自网络—————-
Platform Version -| API Level| VERSION_CODE| 中文名称
Android API 26 | 26
Android 7.1.1/7.1 25 Nougat
Android 7.0 24 Nougat 牛轧糖
Android 6.0 23 Marshmallow 棉花糖
Android 5.1 22 Lollipop
Android 5.0/L 21 Lollipop 棒棒糖
Android 4.4W 20
Android 4.4 19 KITKAT 奇巧巧克力
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN 豆豆糖
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH 冰激凌三明治
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB 蜂巢
Android 2.3.4 10 GINGERBREAD_MR1
Android 2.3.3
Android 2.3.2 9 GINGERBREAD 姜饼
Android 2.3.1
Android 2.3
Android 2.2.x 8 FROYO 冻酸奶
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR 松饼
Android 1.6 4 DONUT 甜甜圈
Android 1.5 3 CUPCAKE 纸杯蛋糕
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE