为安卓构建一个简单的音乐流媒体应用程序


Building a simple Music Streaming Application for Android

我想构建一个基本的客户端-服务器应用程序,我的安卓智能手机可以在其中流式传输一些音频文件,这些文件保存在我的本地服务器上。

对于客户端-服务器通信,我从REST方法开始,所以我在android上使用简单的HTTP-GET请求,在服务器端使用PHP和MySQL。HTTP-GET请求返回一个URL来播放特定文件。

之后,我使用此 URL 开始播放文件:

mp.setDataSource("http://127.224.2.222/music/filename.mp3");

为了做到这一点,我将音乐文件夹直接保存到ApacheWeb服务器的www目录中。

REST 方法是正确的方法吗?

安全问题呢,如何防止人们下载文件?(即我认为一旦有人知道我的httpget请求的地址,就很容易在浏览器中查看文件)

对于流式传输音乐,现在我使用这种简单的HTTP方法 - RTSP连接的优势是什么?

要对

Web服务进行身份验证,请查看OAuth2.0,这是执行此操作的事实标准。如果 OAuth 对于您的程序来说太多了,您可以在 URL 中添加一个简单的令牌。这仍然使您对一系列窥探攻击敞开大门,但确实增加了一点保护。

至于方法:http请求将简单地以最高下载速度下载文件(同时牺牲延迟)并将其缓冲在您的手机上。RTP(RTSP 实际上是用于控制设备而不是通过网络流式传输媒体的不同协议)连接具有更多用于实时流式传输的协议规范,作为低延迟,并且仅请求缓冲区所需的下一个 x 数据包。换句话说,http 可以简单地完成工作,而 RTP 是一个更优雅的解决方案。