简单的安卓视频播放器

Posted

技术标签:

【中文标题】简单的安卓视频播放器【英文标题】:simple android video player 【发布时间】:2013-06-19 03:43:18 【问题描述】:

我对 android/java 非常陌生,正在尝试在 android 上创建一个基本的视频播放器。 我已经对整个 ***、google、youtube 等进行了研究,但我似乎真的找不到这样做的方法..

我的目标是创建一个列表视图,显示 android 设备上的所有兼容视频。然后,在点击列表视图中的一项后,视频就会播放。

我确实找到了一些非常有用的资源,例如 http://www.android-trainer.com/playing-with-videos-from-content-providers-part-3-.html ,但此代码使用了已弃用的方法 managedquery()

然后我被引导到这个网站:http://mobile.tutsplus.com/tutorials/android/android-sdk_loading-data_cursorloader/comment-page-1/#comment-15832 找到解决 managedquery() 方法的方法,但从 cmets 来看,本教程充满了错误......我试图调试教程,但我希望有人可以给我一个明确的解释......

我应该关注第一个链接并弄清楚如何绕过已弃用的 managedquery() 方法吗?如果是这样,我该如何避免使用 managedquery() 方法?

或者是否有另一种可能更简单的方法来创建可以播放设备中所有视频的视频播放器?

谢谢

【问题讨论】:

【参考方案1】:

您希望列表来自哪里?您可以使用默认视频播放器吗? 视频存储在哪里?

ManagedQuery(和 cursorloader)用于遍历数据库。你不需要那个。

【讨论】:

感谢您这么快的回复!我认为有多种方法- 1. 默认视频播放器:我可以接受,但这可用于不同类型的设备吗?例如,如果我调用一个设备的默认播放器,它与另一个设备相同吗? 2. 数据库:我想我也可以创建一个数据库来存储视频,但我不确定这是否有必要......我不能只使用 MediaStore.Videos.etc 访问设备的视频(外部和内部存储)吗? 1.不。根据我的经验,设备的默认播放器有不同的行为 - 较低版本的问题更多,但如果你想要一致性,制作自己的播放器真的很容易。 2. 数据从哪里来?您不希望从文本文件解析并将其写入 db 的开销,只是为了从 db 读取。如果它来自http响应,那将是有道理的。如果您打算使用默认视频文件夹,您可以使用 Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MOVIES)。更多信息在这里developer.android.com/reference/android/os/Environment.html 理想情况下,我希望数据来自任何地方 - sdcard、默认视频,甚至可能是流式传输在线 Youtube 视频(但我假设这本身是一个完全独立的任务)。我已经能够让视频播放器与我放入原始文件夹的测试视频一起工作,我想我可以手动将我想要播放的所有视频放入该文件夹中,但如果播放器会很好可以播放设备上所有以 .3gp 和 .mp4 结尾的文件。这是可行的吗?我可以同时为内部和外部存储实现 getExternalStorageDirectory() 吗? 没关系,我明白了!正如您所建议的,我使用了 getExternalStoragePublicDirectory()。我还使用了 getExternalStorageDirectory,但我不确定这是否特别有益。感谢您引导我朝着正确的方向前进!

以上是关于简单的安卓视频播放器的主要内容,如果未能解决你的问题,请参考以下文章

安卓liveplayer是干嘛的

安卓 | 全网VIP视频播放器

安卓音视频播放功能简单实现 --Android基础

安卓丨聚合VIP播放器

安卓基于JCVideoPlayer 播放视频(本地网络),基于java计数器实现视频轮播

第三方阿里云盘安卓 TV 版,可直接播放视频文件