2011-11-04 99 views
8

我已经找遍了一个解决这个(包括SO),但仍然没有找到一个解决方案。抱歉,该视频无法播放 - 流MP4到Android

我需要在我的应用程序一个简单的视频播放。它比带视频的简单窗口简单一点。简化,我的屏幕上有两个布局,其中一个包含其他内容,另一个包含视频窗口。还有一个按钮可以在两者之间切换。这一切都工作得很好,当我发现videoview不能出现在视图“已经不存在”的视图中时 - 因此我在需要时将它添加到/从容器布局中移除它。

不过,我有一个实际的视频播放问题。当我尝试激活它,我得到了这个可怕的错误Sorry, this video cannot be played.其中有一个问题在这里等是讨论的视频格式(Android -- Can't play any videos (mp4/mov/3gp/etc.)?) - 但是我已经有什么似乎是正确的格式,具有320像素宽度和一切。该线程的答案之一提到here的视频“绝对有效”。我尝试了一对夫妇 - 但我得到了另一个共同的野兽:Sorry, this video is not valid for streaming to this device.

请注意,我正在测试一个实际的设备,因为视频播放不工作在模拟器。另请注意,解决方案必须在Android 1.6及更高版本(客户要求)上运行。我正在测试的设备是LG GT540 Optimus与Android 2.1(目前我没有任何其他设备可用)。

从我想通了,如果我不上影片中使用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(); 
从HTTP现在

,我试图播放的视频是要渐进下载:object.getVideoURL()回报http://www.ooklnet.com/files/381/381489/video.mp4

任何人都可以帮我这个排序出来吗?在整个应用程序准备就绪之前,这是我需要完成的最后一件事。

非常感谢!

编辑:我尝试使用MediaPlayer - 但结果比使用VideoView更糟糕,因此回到VideoView。现在,在模拟器中,我得到一个黑色的屏幕,控件悬停在它上面,视频的声音播放良好,随着播放的继续,进度也在调整。但是我的实际设备上,我仍然得到Sorry, this video cannot be played.错误

+0

你如何设置你的服务器的URL来播放视频?我需要我的网址来播放我的视频,就像您的视频一样,但它不工作:(如果我在浏览器或Android应用程序中使用您的视频,它的效果非常好。如果我尝试我的URL(http://XXX.XXX.XXX.XXX/srv/ProductVideos/[email protected]/s/s_7s.MP4)它不起作用 –

回答

6

原来的问题是与的视频格式(具体地,参数I与ffmpeg用于创建MP4视频)。我确保这些视频是baseline H.264 - 并且一切正常。有关更多详细信息,请参见this question

+0

我可以有你玩的网址吗?我陷入了类似的问题,无法播放OS 2.2中的galaxy galaxy 551视频。请给我你的网址链接进行测试。谢谢 –

+0

@ Rashmi.B下面是我的LG手机上播放完美的一个:http://www.ooklnet.com/files/368/368007/video.mp4 –

+0

@Aleks G,我想玩一个.move网址它被重定向到.3gp网址或有时.mp4网址。 Galaxy s v2.3.x播放.mov网址,但对于任何其他设备(4.01,2.2或除2.3.x之外的任何其他设备),我首先必须获取重定向的rtsp网址才能播放视频。重定向的rtsp网址也随机播放。你能提出一些解决方案吗?还有如何根据手机的兼容性来制作视频基准? –