有没有办法检测设备是否可以播放视频?

5
我已经对在Android设备上播放视频进行了深入研究,得出结论:有一些Android设备无法播放其他Android设备录制的视频。
目前,我正在发送一个意图来播放视频,但是播放器显示“抱歉,该视频无法播放”。
我一直在想,有没有办法在发送意图之前检测视频是否可以播放呢?
1个回答

0

播放取决于播放器支持的文件格式。 因此,如果您使用内置于Android平台(即Android默认解码器)的解码器,则更具体为Android OS版本。因此,您可以根据设备OS版本检查支持的媒体格式,并在支持时允许启动。

作为应用程序开发人员,您可以自由地利用任何可用于任何Android设备的媒体编解码器,包括Android平台提供的和设备特定的编解码器。但是,最好实践是使用设备无关的媒体编码配置文件。


感谢您的回复。我不想播放视频,我想让一些默认播放器来播放视频。因此,我想知道视频使用哪种编解码器,以及设备是否支持它。我没有找到获取这些信息的方法。 - nbtk
找到视频播放所需的编解码器的唯一方法是解析文件。你需要一个适当的解析器。为了查找设备支持的媒体格式,请尝试获取相应URI的缩略图:如果返回的位图为空,则无法解码->设备不支持该编解码器。 - Pavankumar Vijapur
我已经检查过了,缩略图和时长都有了。但是视频无法播放。 - nbtk
你是否注意到缩略图的正确性,我的意思是它的内容。 - Pavankumar Vijapur
我不理解你的意思 - 如果有帮助的话,我从MediaStore获取缩略图。 - nbtk
我相信我得到了正确的缩略图,我得到了一个不为空的位图 - 这是否意味着设备上可以解码视频?但是播放器无法播放它。我将尝试一个补丁 - 将视频加载到具有“GONE”可见性的SurfaceView中,并查看是否可以准备好视频。我开始认为没有合适的方法可以在不使用 NDK(我不知道 :()的情况下完成。 - nbtk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接