2014-07-01 199 views
1

我試圖從瀏覽器模式下的Android上的IP攝像頭應用流獲取流一段時間,但沒有成功。 我試着用的WebView加載託管在我的筆記本電腦在我的應用程序不能正常工作HTML頁面,但在Android版Chrome瀏覽作品...這裏是我的代碼:從IP攝像頭獲取流

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> 

接下來要做什麼?

這是它的外觀上的鍍鉻和我的應用程序

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

請確保您有:

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

難道它只是顯示一個空白屏幕?

編輯:在AndroidManifest.xml中的活動標籤添加機器人:硬件加速= 「真」

我自己的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地址的片段開始,點擊「播放」並運行Web視圖。

希望上次編輯:我修改了代碼只是拖放,你需要兩個文件。一個名爲WebViewActivity,一個名爲MainActivity。主要活動開始了第二項活動的意圖,這將處理所有事情。這是一個很好的例子,因爲我不得不偶爾使用這個例子。

+0

是一個白色的屏幕..我在camera.html中添加了一個按鈕,它只顯示按鈕...我遵循你的答案,但仍然相同 – marcelinho

+0

還設置了你的webviewclient: 'wv.setWebViewClient(new MyWebViewClient ());' 也看到這個線程:http://stackoverflow.com/questions/17182860/webview-is-not-loading-html5-video-in-android –

+0

仍然是空的..它變得非常令人沮喪! – marcelinho