android - 在android中从http url播放sdp文件(rtsp流)

标签 android http android-mediaplayer rtsp sdp

我在本地主机的 rtsp 服务器上有一个 rtsp 流。 我想用 android 类 MediaPlayer 来播放这个文件。

如果我执行 setDataSource(rtsp://localhost/file.sdp) ,它就会起作用!!

我的问题是......如果我将文件复制到我的http服务器上并且我这样做

setDataSource(http://localhost/file.sdp) 

这不起作用!我收到 I/O 异常。

filePath = "http://localhost/file.sdp";
mediaPlayer.setDataSource(filePath);
mediaPlayer.prepare();
mediaPlayer.start();

如果我用 vlc 应用程序播放这个文件,它就可以工作。

最佳答案

RTSP 和 HTTP 是不同的协议(protocol)。 HTTP 服务器不会以相同的方式提供数据。它将发送 HTTP header 等。VLC 可能足够聪明,可以根据接收到的数据推断协议(protocol),但 Android 的 NuPlayer 可能没有那么复杂。

关于android - 在android中从http url播放sdp文件(rtsp流),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19646743/

相关文章:

android - 根据 Activity 的广播接收器更新 fragment ui

android - 如何从 Logcat 中的消息日志中检查内存泄漏?

html - IIS Web 服务器 - 如何限制每个用户一次登录视频流

java - 是否可以仅使用一个线程打开到多个站点的多个连接?

java - Android MediaPlayer 在 Nougat 中不工作

java - (Android Media Player) 为什么不能使用prepareAsync()而不是prepre()与AsyncTask

java - 在android中解析asynctask内的json

android - Android NDK (Cocos2d-x) 打开数据库文件失败

javascript - 有谁知道有什么好的网络调试工具吗?

android - 更改 MediaPlayer 的缓冲大小/间隔