我已经搜遍了这个(包括SO)的解决方案,但仍然没有找到解决方案.
我需要在我的应用中播放简单的视频.它比带视频的简单窗口更简单一些.简化,我的屏幕上有两个布局,一个包含其他内容,另一个是视频窗口.还有一个按钮可以在两者之间切换.这一切都运行得很好,因为我发现视频不能出现在可见度"消失"的视图上 - 因此我在需要时添加/删除容器布局.
但是,我有实际视频播放的问题.当我尝试激活它时,我得到了可怕的错误Sorry, this video cannot be played.
SO上的一个问题是讨论视频格式(Android - 无法播放任何视频(mp4/mov/3gp /等)?) - 但是我已经有了什么似乎是正确的格式,320px宽度和其他一切.该主题的答案之一提到这里的视频"肯定有效".我从那里尝试了一对 - 但我有另一只常见的野兽:Sorry, this video is not valid for streaming to this device.
请注意,我正在测试实际设备,因为视频播放在模拟器中不起作用.另请注意,该解决方案必须适用于Android 1.6及更高版本(客户端的要求).我正在测试的设备是带有Android 2.1的LG GT540 Optimus(目前我没有任何其他设备可用).
根据我的想法,如果我不使用qt-faststart
视频,我会收到错误Sorry, this video is not valid for streaming to this device.
如果我使用qt-faststart
,那么我得到Sorry, this video cannot be played.
这是我的播放代码:
VideoViewer videoPlayer = new VideoViewer(this);
MediaController mediaController = new MediaController(this);
mediaController.setAnchorView(videoPlayer);
videoPlayer.setMediaController(mediaController);
videoPlayer.setVideoURI(Uri.parse(object.getVideoURL()));
LinearLayout container = (LinearLayout)ObjectInfo.this.findViewById(R.id.VideoContainer);
container.setVisibility(VISIBLE);
container.addView(videoPlayer, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
videoPlayer.requestFocus();
videoPlayer.start();
Run Code Online (Sandbox Code Playgroud)
现在,我正在尝试播放的视频是从HTTP逐步下载的:object.getVideoURL()
返回http://www.ooklnet.com/files/381/381489/video.mp4
有人可以帮我解决这个问题吗?这是在整个应用程序准备好之前我需要完成的最后一件事.
非常感谢!
编辑:我尝试使用MediaPlayer - 但结果比使用VideoView更糟,所以回到了VideoView.现在,在模拟器中,我得到一个黑色的屏幕,控制盘旋在它上面,视频的声音播放正常,随着播放的继续,进度也在调整.但是在我的实际设备上,我仍然会收到Sorry, this video cannot be played.
错误