首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将实时视频传输到MediaPLayer

将实时视频传输到MediaPLayer
EN

Stack Overflow用户
提问于 2016-08-18 19:23:37
回答 1查看 782关注 0票数 1

我正在尝试实现两个设备之间的视频流(API 9+)连接到同一个WiFi网络。第一个设备作为一个小型http服务器运行,它使用MediaRecorder从摄像机记录视频。第二个设备试图使用setDataSource方法从MediaPlayer类获取数据。

代码语言:javascript
复制
mediaPlayer.setDataSource("http://serverIP:port")

我知道,首先我需要发送正确的头,否则MediaPlayer将无法查看数据。以下是我的问题:

  1. 应该如何看正确的头部发送到MediaPlayer?
  2. 有没有一个更简单的解决方案,在安卓设备之间播放视频与API 9+?

我将感谢所有的建议。

编辑:

由于我的问题过于笼统,我将尽量更加具体。基于这个线程:Live-stream video from one android phone to another over WiFi,我决定创建一个小型http服务器(使用ServerSocket)。当第二个设备试图通过MediaPlayer连接时,我可以使用

代码语言:javascript
复制
socket.getOutputStream().write(buff, 0, readBytes);

但是在发送数据之前,我必须将标题添加到响应中。

代码语言:javascript
复制
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("HTTP/1.1 206 Partial Content\r\n");
stringBuilder.append("Content-Type: video/mp4\r\n");
stringBuilder.append("Accept-Ranges: bytes\r\n");
stringBuilder.append("Content-Length: XXXX\r\n\r\n");
socket.getOutputStream().write(stringBuilder.toString().getBytes());

这是我的问题。我不知道应该将哪些信息添加到消息头中,以便MediaPLayer能够理解消息。目前,在日志中,我看到了以下消息:

代码语言:javascript
复制
I/MediaHTTPConnection: response code = 206
V/MediaPlayer: message received msg=100, ext1=1, ext2=-2147483648
E/MediaPlayer: error (1, -2147483648)
EN

回答 1

Stack Overflow用户

发布于 2016-08-18 19:43:46

要发送标头,必须将它们放在Map中,如下所示:

代码语言:javascript
复制
 Map<String, String> headers = new HashMap<>();
 headers.put("Header", "Value");

 media_player.setDataSource(
     getApplicationContext(),
     Uri.parse("http://url:port"),
        headers
 );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39026040

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档