Android的项目有一个需求,要求能够在一个界面上同时播放多个视频(不需要有声音)。
使用VLC库实现了,但是在一个pad上面能够正常运行,放到另一个pad上运行时报错:[0000006fa9bba590/1796] libvlc decoder: more than 5 seconds of late video -> dropping frame (computer too slow ?)
查看两个PAD的区别:
正常播放的PAD为荣耀,运行内存为:6GB;
播放报错的PAD为荣耀,运行内存为:4GB;
使播放报错的PAD仅同时播放三个视频时,没有报错。
考虑到由于视频播放比较耗时且占用内存,因此最好不要在主线程中同时播放多个视频,随后将代码改成采用多线程的模式,一个视频播放开启一个线程,报错消失且视频播放流畅。
总结:报错是由于同时播放多个视频暂用内存较大,而播放工具的配置太低导致。
解决办法:
1. 提高播放工具的配置;
2. 减少视频同时播放的个数;
3. 采用多线程的方式播放视频。