媒体播放器:来自数据库的流

时间:2013-02-08 18:14:46

标签: database audio stream media-player android-contentprovider

简而言之:我在我的本地sqlitedatabse中有一些音频文件,并希望使用Android的本机媒体播放器。 参考文档我可以通过将我的音频文件放在SD卡上或通过从服务器或URI流式传输来播放音频。

通过向媒体播放器提供字节数组,无法播放音频文件。

所以我的解决方案是构建一个CONTENTPROVIDER,让我的媒体播放器通过URI访问数据库中的音频文件。我通过本教程提出了这个想法

http://www.vogella.com/articles/AndroidSQLite/article.html

这可能吗?有没有更好的方法来实现我的问题?

1 个答案:

答案 0 :(得分:0)

如果我正确理解你的问题,你建议创建一个人工URL,然后将其传递到要读取的android系统,并通过从SQLite读取来提供支持URL的数据。这可能会起作用,它解决了内容解码的一些问题,但它需要在系统内创建笨拙的URL和套接字。所有这些可能都不是最可靠或最有效的方式。

另一种方法是将数据自己解码为PCM,并通过Audio Track将其提供给Android。这将是优越的,因为您不是试图创建一个被黑客(和人为)的URL只是为了管道数据流,但它可能需要您自己解析数据并将其转换为PCM。根据您在数据库中使用的格式,这可能很困难而且不值得,因为用于这些类型转换的Android库不是那么容易访问的。那么, best 的方式取决于你的目标,但我认为这是你的两个选择。