2012-05-24 73 views
0

我正在試圖嘗試顯示在網絡服務器上進行流式處理的視頻。我有視頻流的HTTP鏈接。要連接到網絡服務器,我要連接到一個特定的WIFI,這使我可以訪問視頻。在Android中進行視頻流式傳輸

我照顧了WIFI連接。當我嘗試使用VideoView在我的應用中顯示視頻時,我遇到了問題。我使用了一個工具,顯示我正在從服務器接收數據。所以我的應用程序正在接收視頻的數據包,但無法顯示它。

的代碼是這樣的:

private VideoView videoView; 
    videoView = (VideoView)findViewById(R.id.VideoView_videoOnly); 
    .... 
    .... 
    //connect to the router 
    String ip = "http://192.168.2.250"; 
    URL url = null; 
    try { 
     url = new URL(ip); 
    } catch (MalformedURLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    URLConnection connection = null; 
    try { 
     connection = url.openConnection(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    String vidLink = "http://XXXX:[email protected]/axis-cgi/mjpg/video.cgi"; 
    //set up video streaming 
    MediaController mc = new MediaController(this); 
    mc.setAnchorView(videoView); 
    mc.setMediaPlayer(videoView); 
    Uri video = Uri.parse(vidLink); 
    videoView.setMediaController(mc); 
    videoView.setVideoURI(video); 
    videoView.start(); 

} 

}

XXXX:XXXX是用戶名和密碼來訪問視頻流

+0

請不要污衊你的問題。如果您需要將您的帳戶與問題解除關聯,請通過標誌告知我們。但不要污衊你的問題。 –

回答

1

根據您所使用的網址,一個可以猜,您正在接收MJPEG格式的流。 MJPEG本身不受Android的支持。 您必須將流分解爲jpeg,然後從每個jpeg創建一個位圖,然後逐個顯示位圖。