Android studio 视频播放(利用Android原生的videoview)

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();
    }
}

猜你喜欢

转载自blog.csdn.net/ternence_hsu/article/details/82836560
今日推荐