在IIS上托管3gp电影文件 - 在Android上播放

时间:2011-12-16 17:01:48

标签: android google-tv android-video-player

我正在尝试使用SDK中的VideViewDemo为Android创建一个VideoPlayer演示。

我在网上找到了一个示例视频 - 3gpmp4。使用SDK中的代码示例,这些视频在设备上播放时没有问题(在这种情况下,它是Google TV)。

为了澄清,在代码中,设置了这个值:

private String path = "http://commonsware.com/misc/test2.3gp";

如果我下载这些示例并将其保存到我的计算机上的本地IIS实例,则相同的VideoPlayer演示将无法播放该剪辑。

以下是IIS 7网站的设置及其中包含的视频文件:

  • 启用匿名身份验证

  • 权限 - 每个人/完全控制(只是为了消除任何权限问题); IIS_IUSRS(读/写,列表和读取)

我可以通过浏览器打开这些文件 - 没问题。

当我尝试通过Android应用程序播放它们时,应用程序将在那里停留几分钟,然后会出现一个错误消息:“无法播放视频 - 抱歉,此视频无法播放”。

我在内部网络上,但我的机器IP和Google TV IP分别位于同一网段 - 分别为10.4.48.229和10.4.48.165。

DDMS的信息非常少:

12-16 16:35:38.237: D/MediaPlayer(6687): Couldn't open file on client side, trying server side
12-16 16:37:46.361: E/MediaPlayer(6687): error (0, 0)
12-16 16:37:46.361: E/MediaPlayer(6687): Error (0,0)
12-16 16:37:46.361: D/VideoView(6687): Error: 0,0

我所知道的:

  • 示例代码有效

  • 3pg和mp4都设置为IIS中的有效MIME类型(.3gp-video / 3gpp和.mp4-video / mp4)

  • 从源位置访问时,示例视频文件在Android应用中运行

  • 从源位置访问时,示例视频文件在浏览器中工作

  • 从本地IIS网络服务器访问时,示例视频文件无法在Android应用中运行

IIS有什么问题吗?用Windows防火墙?我不知道为什么这不起作用......在我看来,它必须与IIS有关,但我不知道是什么。我试图将视频文件放在另一台Web服务器上,但我们所有的服务器都是HTTPS,在Android应用程序中立即失败。

非常感谢任何建议/指示。

1 个答案:

答案 0 :(得分:0)

我尝试了各种HTTP服务器,其中许多服务器无法与Google TV上的媒体播放器配合使用。这个确实奏效了:

http://code.google.com/p/wireme/source/browse/src/com/wireme/mediaserver/HttpServer.java?r=b0db9c440b168cd50ca74fb2bec86feea587d4d9