简而言之:我的本地sqlitedatabse中有一些音频文件,想与android的本地媒体播放器一起播放。
引用文档,我可以通过将音频文件放在sd卡上或通过服务器流或URI来播放音频。
无法通过将字节数组提供给媒体播放器来播放音频文件。
因此我的解决方案是构建一个CONTENTPROVIDER,让我的媒体播放器通过URI访问数据库中的音频文件。我通过本教程提出了这个想法
http://www.vogella.com/articles/AndroidSQLite/article.html
这可能吗?有没有更好的方法来解决我的问题?
最佳答案
如果我正确理解了您的问题,则建议您创建一个人造URL,然后将其传递给要读取的android系统,并通过从SQLite中读取来提供支持URL的数据。这可能会起作用,并且可以解决内容解码方面的一些问题,但是需要在系统内创建笨拙的URL和套接字。所有这些都不是最可靠或最有效的方法。
另一种方法是自己将数据解码为PCM,然后通过Audio Track将其提供给Android。这将是更好的选择,因为您不是试图创建被黑的(和人工的)URL只是为了通过管道传输数据流,而是可能需要您自己解析数据并将其转换为PCM。根据数据库中使用的格式,这可能很困难并且不值得,因为此类转换的Android库无法访问。因此,哪种方法最好取决于您的目标,但是我认为这是您的两个选择。