我正在尝试使用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网络服务器访问时,示例视频文件无法在Android应用中运行
IIS有什么问题吗?用Windows防火墙?我不知道为什么这不起作用......在我看来,它必须与IIS有关,但我不知道是什么。我试图将视频文件放在另一台Web服务器上,但我们所有的服务器都是HTTPS,在Android应用程序中立即失败。
非常感谢任何建议/指示。
答案 0 :(得分:0)
我尝试了各种HTTP服务器,其中许多服务器无法与Google TV上的媒体播放器配合使用。这个确实奏效了: