在多屏互动中经常涉及到需要将手机、pad等移动设备上的视频、音乐及图片等媒体文件通过DLNA等协议推送到电视上播放,这就需要在手机端启动流媒体服务。本文介绍了如果通过NanoHTTPD在手机上实现流媒体服务。
NanoHTTPD介绍
NanoHTTPD是一款优秀的、轻量级的HTTP服务器实现,只有一个java文件,可以非常简单的嵌入到手机等设备上。NanoHTTPD可以在https://github.com/NanoHttpd/nanohttpd下载。NanoHTTPD本身是一个抽象类,需要继承它实现一个实体类。
NanoHTTPD启动
NanoHTTPD提供start方法启动http服务
sHttpServer = new HttpServer(PORT);
sHttpServer.start();
NanoHTTPD终止
sHttpServer.stop();重写serve方法,处理http请求
下面示例代码包含如果读取图片、音乐、视频等媒体文件并且返回媒体流:
@Override
public Response serve(IHTTPSession session) {
try {
String url = session.getUri();
if (url == null) {
Log.e(TAG, "url is null");
return super.serve(session);
}