从IP Webcam获取流

时间:2014-07-01 14:41:16

标签: java android xml webview

我试图在Android上以浏览器模式从IP网络摄像头应用程序获取流已有一段时间但未成功。 我尝试使用webview加载托管在我的笔记本电脑上的html页面,而不是在我的应用程序中工作但是在chrome for android中运行...这是我的代码:

Camera.html

 <img id="browser_video" class="video-image" alt="video" src="http://192.168.1.101:8080/video">

MainActivity

    import android.app.Activity;
    import android.os.Bundle;
    import android.os.Handler;
    import android.webkit.WebView;

    public class MainActivity extends Activity{


        WebView wv;
        String URL = "http://192.168.1.187:8080/camera.html";

        @Override
        protected void onCreate(Bundle savedInstanceState) {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            wv = (WebView) findViewById(R.id.wvImage);  
            wv.loadUrl(URL);
         }
   }

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <WebView
        android:id="@+id/wvImage"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</LinearLayout>

接下来要尝试什么?

这是它在chrome和我的应用上的外观

http://i1258.photobucket.com/albums/ii532/csanonymus/Screenshot_2014-07-01-17-57-28_zps22e1e220.png

http://i1258.photobucket.com/albums/ii532/csanonymus/Screenshot_2014-07-01-17-57-07_zpsad9244d3.png

1 个答案:

答案 0 :(得分:1)

确保您拥有:

WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);

是否只显示空白屏幕?

编辑:在AndroidManifest.xml中为活动标签添加android:hardwareAccelerated =&#34; true&#34;

我自己的IP摄像头代码:

这是IP摄像机控制器

public class WebviewActivity extends Activity {

String url = "http://192.168.1.187:8080/camera.html";

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //Remove title bar
    this.requestWindowFeature(Window.FEATURE_NO_TITLE);

    //Remove notification bar
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

    setContentView(R.layout.activity_mini_bot_controller);

    WebView webview = (WebView) findViewById(R.id.browser);
    Intent intent = getIntent();
    String myIP = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
    webview.getSettings().setJavaScriptEnabled(true);
    webview.setWebViewClient(new MyWebViewClient ());
    webview.loadUrl(url);


}


}

然后活动:

public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = new Intent(this, MiniBotController.class);
        startActivity(intent);
    }

}

希望这会有所帮助。

注意:还值得一提的是,该程序以一个片段开头,您可以在其中输入IP地址并点击“播放”。它运行Webview。

希望上次编辑:我修改了代码只需拖放,你需要两个文件。一个名为WebViewActivity,一个名为MainActivity。主要活动开始第二个活动的意图,它将处理所有事情。这是一个工作示例,因为我必须偶尔使用这个。