我正在尝试在我的Android设备上获得连接到H.264 IP编码器的普通相机的视频流。我已经尝试使用webView来获取登录屏幕,但登录后我没有得到流。 编码器有一个登录屏幕,稍后打开一个html页面,其中有一堆选项,中间的视频像youtube。 我想只接收视频,而不是Android设备上的整个HTML页面。 我甚至尝试使用SurfaceView显示空白屏幕。 我尝试实现这个http://ijoshsmith.com/2014/01/25/video-streaming-from-an-ip-camera-to-an-android-phone/,但也没有用。
activtiy_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:background="#000000"
tools:context=".MainActivity" >
<VideoView
android:id="@+id/myVideo"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerInParent="true" />
</RelativeLayout>
MainAcitvity.java
package video_stream.telesystem.magnum.videostream;
import android.app.Fragment;
import android.content.Context;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.SurfaceHolder;
import android.view.SurfaceView;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.Window;
import android.view.WindowManager;
import android.app.Activity;
import android.util.Base64;
import android.webkit.WebChromeClient;
import android.webkit.WebHistoryItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.MediaController;
import android.widget.TextView;
import android.widget.VideoView;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends Activity{
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
setContentView(R.layout.activity_main);
VideoView vidView = (VideoView)findViewById(R.id.myVideo);
MediaController vidControl = new MediaController(this);
String vidAddress = "http://192.168.0.10:554/Login.htm";
Uri vidUri = Uri.parse(vidAddress);
vidView.setVideoURI(vidUri);
vidView.start();
vidControl.setAnchorView(vidView);
vidView.setMediaController(vidControl);
}
}