Android Studio实现网络网络视频的播放(使用VideoView)

一、简介

       经过上次课学习了VideoView播放本地视频跟音频后,自己就一直想尝试一下使用VideoView来播放网络视频,于是便去网上查找相关的资料,结果找到的大部分都是使用WebView来播放播放网络视频,与其说是使用WebView来播放视频,倒不如说它是用来播放视频的网页,并且把网页的其他部分给渲染掉,给人呈现出直接播放视频的假象。最后,功夫不负有心人,在经过各个网站的信息挖掘之后,自己也是找到了不少关于使用VideoView来播放网络视频的文章,但都是适合基础比较好的,故自己想写一篇文章来帮助我这种基础不好的学习者以后更加方便学习。

二、具体操作

1、添加权限

添加网络权限与读取本地文件的权限到 AndroidManifest.xml 文件中(具体权限功能请见注释)

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<!--    允许应用读取外部存储(如 SD 卡)上的文件。-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--    允许应用写入外部存储(如 SD 卡)。-->
<uses-permission android:name="android.permission.INTERNET" />
<!--    允许应用连接到互联网,以发送和接收数据。-->

2、添加 VideoView 控件

    <VideoView
        android:id="@+id/videoView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

3、代码实现

public class MainActivity extends AppCompatActivity {
 
    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);   //全屏

        try {
            play_rtsp();
        } catch (IOException e){
            e.printStackTrace();
        }// 尝试调用 play_rtsp(); 方法来播放RTSP流,并捕获可能抛出的 IOException。
 
// 设置暂停和开始
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
            @Override
            public void onCompletion(MediaPlayer mp) {
                // 视频播放完成后的操作
            }
        });
        // 添加媒体控制器(可选),它提供了播放/暂停、音量控制等功能
        MediaController mediaController1 = new MediaController(this);
        videoView1.setMediaController(mediaController1);
        // 监听视频准备播放事件(可选)
        videoView1.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
            @Override
            public void onPrepared(MediaPlayer mp) {
                // 视频准备完成后可以执行的操作,例如开始播放
            }
        });
   
    private void play_rtsp() throws IOException {
        String videoUrl = "视频地址URL" ;
        Uri uri = Uri.parse( videoUrl );
        videoView = (VideoView)this.findViewById(R.id.videoView );
        
        videoView.setVideoURI(uri);
        videoView.requestFocus();
    }
}

4、实现效果

三、总结

通过不断地学习,才可以找到解决方法。以上便是本博客的主要内容,使用VideoView来实现网络视频的播放,希望对看到的你能有一些帮助。

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值