1 添加文件权限
添加 网络权限与读取本地文件的权限( AndroidManifest.xml 文件中 )
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
2 添加 videoView 控件
在demo的基础上面直接拖一个 videoView 到界面上
<VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
3 代码实现
可以分别通过调用 play_mp4() 与 play_rtsp() 来实现 本地视频的播放 与 网络RTSP视频的播放;
public class MainActivity extends AppCompatActivity {
private VideoView videoView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); //全屏
play_mp4();
// try {
// play_rtsp();
// } catch (IOException e){
// Log.d("videoplay", "videoview: IOException");
// e.printStackTrace();
// }
}
private void play_mp4(){
String videoUrl1 = "/storage/emulated/0/test.mp4"; // 或者 file:///storage/emulated/0/test.mp4
Uri uri = Uri.parse( videoUrl1 );
videoView = (VideoView)this.findViewById(R.id.videoView );
videoView.setMediaController(new MediaController(this));
videoView.setVideoURI(uri);
videoView.start();
}
private void play_rtsp() throws IOException {
String videoUrl2 = "rtsp://192.168.110.227:1935/vod/sample.mp4" ;
Uri uri = Uri.parse( videoUrl2 );
videoView = (VideoView)this.findViewById(R.id.videoView );
//videoView.setVideoPath(path);
videoView.setVideoURI(uri);
videoView.requestFocus();
videoView.start();
}
}