Android videoView给我提醒“抱歉,此视频无法播放”?

时间:2012-01-03 14:49:56

标签: android

My Code::

public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        VideoView videoView = (VideoView) findViewById(R.id.videoView1);
        MediaController mediaController = new MediaController(this);
        mediaController.setAnchorView(videoView);

        Uri video = Uri
                .parse("www.logisticinfotech.com/client/Malasiya Cup/movie.mp4");
        videoView.setMediaController(mediaController);
        videoView.setVideoURI(video);
        videoView.start();

    }

错误::抱歉,无法播放此视频。

的logcat ::

01-03 20:19:14.044: DEBUG/AndroidRuntime(454): >>>>>>>>>>>>>> AndroidRuntime START <<<<<<<<<<<<<<
01-03 20:19:14.044: DEBUG/AndroidRuntime(454): CheckJNI is ON
01-03 20:19:14.224: DEBUG/AndroidRuntime(454): --- registering native functions ---
01-03 20:19:14.874: INFO/ActivityManager(59): Starting activity: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 cmp=com.logistic.videoview/.MainActivity }
01-03 20:19:15.014: DEBUG/AndroidRuntime(454): Shutting down VM
01-03 20:19:15.044: DEBUG/dalvikvm(454): Debugger has detached; object registry had 1 entries
01-03 20:19:15.134: INFO/AndroidRuntime(454): NOTE: attach of thread 'Binder Thread #3' failed
01-03 20:19:15.784: INFO/StagefrightPlayer(34): setDataSource('www.logisticinfotech.com/client/Malasiya Cup/movie.mp4')
01-03 20:19:15.805: ERROR/MediaPlayer(420): error (1, -2147483648)
01-03 20:19:15.834: INFO/ActivityManager(59): Displayed activity com.logistic.videoview/.MainActivity: 821 ms (total 821 ms)
01-03 20:19:15.885: ERROR/MediaPlayer(420): Error (1,-2147483648)
01-03 20:19:15.885: DEBUG/VideoView(420): Error: 1,-2147483648

4 个答案:

答案 0 :(得分:2)

我建议您查看Android对支持的媒体格式的概述。该网站涵盖了从Android的第一个版本到最新版本的所有内容:

Android Supported Media Formats

我猜你试图在你的应用程序中加入一个视频,并且它需要在所有设备上运行,所以我建议你继续尝试编码一个类似于{的配置​​文件的视频{1}}列在上述网站上。

您可以使用大量免费视频转换器对视频进行编码 - 其中一个可能是Freemake Video Converter

答案 1 :(得分:1)

为了进一步扩展我的评论,我用不同的编码/格式/等进行了很多战斗,直到我得到了一个适用于所有Android设备的那个(至少我测试过的所有设备)。使用ffmpeg,这里最终有效:

/usr/bin/ffmpeg -i inputfile.ext -y -s 320x240 -vcodec libx264 -vpre medium -vpre baseline -acodec libfaac output.mp4

答案 2 :(得分:0)

我有同样的问题,我只是想通了它来自视频格式和编码。但我并没有真正意识到它可以在所有设备上运行。

感谢您找到答案给予答案!

答案 3 :(得分:0)

我有同样的问题 我通过添加250毫秒的延迟解决。实际上,当我们尝试捕获并立即播放时会发生错误。那个时候,引擎还没有准备好发挥(因为它没有达到流的结束。完全没有读过视频)