Java 从IP网络摄像头获取流

Java 从IP网络摄像头获取流,java,android,xml,webview,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"> 和活动\u

有一段时间,我试图以浏览器模式从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">
活动\u 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和我的应用程序上的外观

确保您有:

WebSettings webSettings = wv.getSettings();
webSettings.setJavaScriptEnabled(true);
它只是显示一个空白屏幕吗

编辑:在活动标记的AndroidManifest.xml中添加android:hardwareAccelerated=“true”

我自己的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。主活动启动第二个活动的意图,该活动将处理所有事情。这是一个工作示例,因为我有时不得不使用它。

是的,一个白色屏幕。我在camera.html中添加了一个按钮,它只显示该按钮…我按照您的答案进行操作,但仍然是相同的设置您的webviewclient:
wv.setWebViewClient(新的MyWebViewClient())也可以看到这个线程:仍然是空的..这真的令人沮丧!!“我不知道如何使用所有这些。”Marcelino我做了一个拖放程序。请检查一下。我希望能回答你的问题,因为我犯了很多错误。
public class MainActivity extends ActionBarActivity {

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

}