我正在尝试使用SDK中的 VideViewDemo 为 Android 创建一个 VideoPlayer 演示。
我在网上找到了一个示例视频 - 3gp和mp4。使用 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 应用程序中立即失败。
任何建议/方向将不胜感激。