Java 从IP网络摄像头获取流
有一段时间,我试图以浏览器模式从Android上的IP网络摄像头应用程序获取流,但没有成功。 我尝试使用webview加载托管在笔记本电脑上的html页面,该页面在我的应用程序中不起作用,但在chrome for android中起作用……以下是我的代码: Camera.htmlJava 从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
<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);
}
}