我在本地主机的 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/