0

我正在尝试使用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 Web 服务器访问时,示例视频文件在 Android 应用程序中不起作用

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

任何建议/方向将不胜感激。

4

1 回答 1

0

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

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

于 2011-12-16T21:48:18.083 回答