首页 > 代码库 > android 视频播放器选择界面弹出机制

android 视频播放器选择界面弹出机制

1,file managervideos识别视频的机制不同

a)   file manager简单根据后缀识别,3gpmp4avi分别被认为是三种不同的视频格式,因此会分别弹出视频播放器选择界面

b)   videos中视频识别是按照文件mimetype来设定,3gp属于简化的mp4,可以认为是同一类文件。在android设计里3gpmp4文件使用同一个parser,两种文件的mimetype 也一致,都是video/mp4。由于android default3gpmp4使用同一个mimetype,当用户在播放3gp是选择了always,再播放mp4就不会弹出视频播放器选择界面。

 

2,在早期版本鄙司曾经支持3gpmp4的区分,3gp有自定义的mimetype,但这个改动会导致一些第三方的应用没办法识别和使用3gp文件,例如国外比较流行的instagram会没办法分享camera录制的3gp文件。最后基于适用性的考虑对3gp的做法回归了android default的做法

 

3,建议是维持Android default的设计。参考机也是一样的行为。无论怎样修改行为,都会有side effect

a)   Solution1:修改Videos app的行为,改为不检查mimetype,而检查后缀。因为后缀不可靠,比如.3gp不一定是真正的.3gp,所以实际上也有问题的。

b)   Solution2: 修改底层扫描的行为。如前面note提到行为会有Android default不一样,会造成其他app有问题。

android 视频播放器选择界面弹出机制