Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 媒体播放器:来自数据库的流_Database_Audio_Stream_Media Player_Android Contentprovider - Fatal编程技术网

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

Database 媒体播放器:来自数据库的流,database,audio,stream,media-player,android-contentprovider,Database,Audio,Stream,Media Player,Android Contentprovider,简言之:我在本地SQLite数据库中有一些音频文件,希望使用android的本机媒体播放器进行播放。 参考文档,我可以通过将音频文件放在sd卡上,或通过服务器流媒体或URI播放音频 无法通过向媒体播放器提供字节数组来播放音频文件 因此,我的解决方案是构建一个CONTENTPROVIDER,让我的媒体播放器通过URI访问数据库中的音频文件。通过本教程,我想到了这个想法 这可能吗?有更好的方法来实现我的问题吗?如果我正确理解您的问题,您建议创建一个人工URL,然后将其传递给android系统进行读

简言之:我在本地SQLite数据库中有一些音频文件,希望使用android的本机媒体播放器进行播放。 参考文档,我可以通过将音频文件放在sd卡上,或通过服务器流媒体或URI播放音频

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

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


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

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

另一种方法是自己将数据解码到PCM中,然后通过一个网络将其提供给Android。这将是更好的,因为您不试图创建一个被黑客(和人工)的URL只是为了通过管道传输数据流,但它可能需要您自己解析数据并将其转换为PCM。取决于数据库中的格式,这可能很困难,也不值得,因为用于此类转换的Android库不太容易访问。所以,哪种方式最好取决于你的目标,但我认为这是你的两个选择