北京理工大学 20981 陈罡
这次接着聊这个chok前端的开发过程,呵呵。现在已经有可以用的版本放出去了,真不容易啊。
之前,“mplayer移植”群里面的朋友们反映mp3播放卡,不支持wmv以及asf的问题,偶找了一下,
原来是偶编译的mplayer没有经过ipp优化的问题,虽然在a1200上面也可以马马虎虎凑合着用,但是
看了一下zmplayer使用的经过优化过的mplayer,确实不同反响啊。人家确实在mplayer本身下了不少
功夫啊。
由于偶的mplayer优化的不好,所以mp3播放很卡,偶把madplayer也临时加了进去,可以暂时
解决mp3的播放问题,不过随之而来的就是偶编译的mplayer不支持asf和wmv,这个问题让偶郁闷了
好久,修改了几次效果也不明显。最后决定,还是采用zmplayer的内核mplayer。
在这里向zmplayer的开发和移植作者们表示由衷的感谢。
现在新出来的qezxplayer使用的内核我也检查过了,就是zmplayer v1.2版的内核(这一点,已经通过
diff程序亲手验证过了的),呵呵,看来我们是英雄所见略同啊。不过zmplayer v1.2的内核有一点缺陷,
就是不支持flv格式,而偶编译的mplayer就可以支持,鉴于现在flv的视频不是特别多。还是暂时采用优化
过的zmplayer的核心吧。
呵呵,去掉了madplayer播放mp3的部分,而直接采用了zmplayer的内核以后,发现确实播放速度有了很
大提升,并且文件大小减小了200多K。不能不说是一个成功,而且播放mp3也不卡了,虽然偶仍然觉得
mplayer播放mp3的效果还是要比madplayer差那么一点点(个人感觉而已)。新出来的chok仍然处于测试
和开发阶段,增加了音量调节按钮(不少朋友反映刚开始音量过大,这个问题下一版偶就会把它解决),
并且把音量调节按钮和mplayer的slave模式界面关联起来了,效果很不错。
音量调节传入的命令是:volume [数字] 1[回车]
亮度调节传入的命令是:brightness [数字] 1[回车]
快进和快退采用的命令是:seek +30[回车](前进30秒),seek -30[回车](后退30秒)
经过对qezxmplayer的反编译,偶得到了优化后mplayer的调用方法如下:
char * player_cmd[] = {
"./mplayer", "-slave", "-quiet", "-nortc", "-vf",
"rotate=1,scale=240:320", "-af",
"channels=2,resample=44100:0:0", "-sws", "0",
"-subrotate", "2", "-framedrop", "-idle",
"2process", fpathname, NULL
} ;
这里对于-vf, -font -utf8参数,偶做了一些修改,不知道会不会有问题,
原来,优化过的mplayer使用时需要对声音进行重新采样(resample),难怪直接使用的时候会出现
声音不同步的现象。这个问题找到了也就意味着可以解决了。
加入zmplayer内核的chok引入了如下新功能:
(1)加入了音量调节按钮,手机左侧的两个按键,并把mplayer音量调节图形显示接口调用起来了。
(2)按键映射修改,把原先的横屏模式下向上方向键的pause功能改到了ok键上(包括左边的ok键)
(3)横屏模式下的上、下方向键改为播放亮度调节
(4)横屏模式下的左、右方向键的向前向后跳转步长,由原先的10秒改为30秒
(5)由于没有采用madplayer,完全使用mplayer,因此mp3播放过程中,也支持30秒的跳转。
暂时写这么多了,确实,这次采用zmplayer优化过的核心有点伤筋动骨的味道,意味着偶自己编译的
mplayer彻底退出历史舞台(:"(),不过给大家呈现出来的效果确实不错,这是偶非常欣慰的。
chok,这个偶无意中开始的项目还将继续进行下去,偶是不满足按键控制的,毕竟比较麻烦,能用触摸屏
的就尽量用触摸屏,如果能够做到触摸屏控制所有播放参数就更好了。
实现人性化的播放界面,以及进一步的改进,还需要艰苦的努力才能做到。
路是一步一步走出来的,软件是一个版本一个版本做出来的。
坚持。。。坚持。。。
。。。睡觉。。。睡觉。。。
阅读(4491) | 评论(7) | 转发(0) |