打开流视频时出错 [英] Error in opening streaming video

查看:209
本文介绍了打开流视频时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试通过提供视频的网址来打开视频流.我正在使用VideoView.这是我的代码:

I'm trying to open video stream by giving the url of the video. I'm using VideoView.Here is my code:

public class MainActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);        
        VideoView videoView = (VideoView) findViewById(R.id.stream_video_view);
        videoView.setVisibility(View.VISIBLE);
        MediaController mc = new MediaController(this);     
        mc.setAnchorView(videoView);
        mc.setMediaPlayer(videoView);
        videoView.setMediaController(mc);
        Uri uri = Uri.parse("http://172.16.154.106:8080");
        videoView.setVideoURI(uri);
        videoView.requestFocus();
        videoView.start();
    }     
}

LogCat:

01-16 15:58:16.042: D/MediaPlayer(2054): Couldn't open file on client side, trying server side
01-16 15:58:16.078: E/MediaPlayer(2054): Unable to to create media player
01-16 15:58:16.082: W/VideoView(2054): Unable to open content: http://172.16.154.106:8080
01-16 15:58:16.082: W/VideoView(2054): java.io.IOException: setDataSource failed.: status=0x80000000
01-16 15:58:16.082: W/VideoView(2054):  at android.media.MediaPlayer._setDataSource(Native Method)
01-16 15:58:16.082: W/VideoView(2054):  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:844)
01-16 15:58:16.082: W/VideoView(2054):  at android.media.MediaPlayer.setDataSource(MediaPlayer.java:806)
01-16 15:58:16.082: W/VideoView(2054):  at android.widget.VideoView.openVideo(VideoView.java:221)
01-16 15:58:16.082: W/VideoView(2054):  at android.widget.VideoView.access$2000(VideoView.java:49)
01-16 15:58:16.082: W/VideoView(2054):  at android.widget.VideoView$6.surfaceCreated(VideoView.java:465)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.SurfaceView.updateWindow(SurfaceView.java:562)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.SurfaceView.access$000(SurfaceView.java:82)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:171)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:590)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1596)
01-16 15:58:16.082: W/VideoView(2054):  at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2418)
01-16 15:58:16.082: W/VideoView(2054):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-16 15:58:16.082: W/VideoView(2054):  at android.os.Looper.loop(Looper.java:137)
01-16 15:58:16.082: W/VideoView(2054):  at android.app.ActivityThread.main(ActivityThread.java:4340)
01-16 15:58:16.082: W/VideoView(2054):  at java.lang.reflect.Method.invokeNative(Native Method)
01-16 15:58:16.082: W/VideoView(2054):  at java.lang.reflect.Method.invoke(Method.java:511)
01-16 15:58:16.082: W/VideoView(2054):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
01-16 15:58:16.082: W/VideoView(2054):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
01-16 15:58:16.082: W/VideoView(2054):  at dalvik.system.NativeStart.main(Native Method)
01-16 15:58:16.082: D/VideoView(2054): Error: 1,0
01-16 15:58:16.232: D/gralloc_goldfish(2054): Emulator without GPU emulation detected.

执行此操作时,我没有收到任何错误,但出现了一个对话框,标题为无法播放视频",并显示消息抱歉,无法播放此视频".有什么想法为什么我的代码无法正常工作吗?

On executing this, I'm not getting any error but I'm getting a dialog box with title "cannot play video" and with message "Sorry, this video can't be played". Any ideas why my code is not working?

推荐答案

首先检查您是否已在清单中添加了INTERNET权限.

First check that you have added INTERNET permission in your manifest.

下一步,检查视频格式的扩展名是什么.

Next check that what is the extension of your video format.

链接显示了Android手机和哪些文件平板电脑支持,同时提供编解码器和文件扩展名信息.但是,Android应用程序可以使用由任何Android设备提供的媒体编解码器,也可以使用第三方公司开发的其他媒体编解码器.因此,如果要在Android上播放视频,请找到一种多格式的视频播放器或将视频转换为Android兼容的格式.

This link shows what files Android phones and tablets support, with both codec and filename extension information provided. However, an Android application can use media codecs either provided by any Android-powered device, or additional media codecs developed by third-party companies. Therefore, if you want to play videos on Android, find a multi-format video player or convert videos to Android compatible formats.

请参阅以下Android支持的媒体格式链接.

See this Android Supported Media Formats link.

这篇关于打开流视频时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆