我已经搜索了所有这方面的解决方案(包括SO),但是仍然没有找到解决方案。
我需要有一个简单的视频播放在我的应用程序。这比一个带视频的简单窗口简单得多。简单地说,我的屏幕上有两种布局,一种是包含其他东西,另一种是有视频窗口。还有一个按钮可以在两者之间切换。这一切都工作得很好,在我发现视频视图不能出现在可见性“消失”的视图上之后--因此我在需要时将其添加/移除到/从容器布局中删除。
但是,我对实际的视频播放有问题。当我试图激活它时,我得到了可怕的错误Sorry, this video cannot be played.
--这里的问题之一是讨论视频格式(Android --不能播放任何视频(MP4/mov/3GP/等等)?) --然而,我已经有了似乎是正确的格式,宽度为320 it以及其他所有内容。这个帖子中的一个答案提到了这里的视频“绝对有效”。我试过几次--但是我有另一种常见的野兽:Sorry, this video is not valid for streaming to this device.
请注意,我正在一个实际的设备上进行测试,因为视频播放在模拟器中不起作用。还请注意,该解决方案必须在Android1.6及以上(客户的要求)上工作。我正在测试的设备是LG GT540 Optimus与Android2.1(目前我没有任何其他设备可用)。
据我所知,如果我没有在视频上使用qt-faststart
,如果我确实使用qt-faststart
,就会得到错误Sorry, this video is not valid for streaming to this device.
,那么我就得到了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();
现在,我想播放的视频是从HTTP下载的:object.getVideoURL()
返回http://www.ooklnet.com/files/381/381489/video.mp4
有人能帮我解决这个问题吗?这是在整个应用程序准备好之前我最不需要完成的事情。
非常感谢!
编辑:,我试过使用MediaPlayer,但是结果比VideoView更糟糕,所以回到了VideoView。现在,在模拟器中,我得到了一个黑色屏幕,它上方有控制,视频的声音播放得很好,而且随着播放的继续,进度也在调整。然而,在我的实际设备上,我仍然得到Sorry, this video cannot be played.
错误
发布于 2011-11-08 14:14:28
问题在于视频的格式(特别是我与ffmpeg
一起创建MP4视频时使用的参数)。我确保视频是baseline
H.264 --而且一切正常工作。有关更多详细信息,请参阅这个问题。
发布于 2011-11-04 16:47:22
也许您需要改变设置MediaPlayer的方式。我刚把你的视频样本的网址插入到apidemos的例子中,它运行得很好。
请参阅:Video.html
希望这能有所帮助。
https://stackoverflow.com/questions/8012494
复制相似问题