文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

超简单!Android 播放流媒体

2022-06-06 13:58

关注

简介

我利用了大名鼎鼎的vlc来播放媒体。它可以播放来自网络、摄像头、磁盘、光驱的文件,支持包括MPEG 1/2/4, H264, VC-1, DivX, WMV, Vorbis, AC3, AAC等格式的解码。
但是libvlc对于普通的开发者还是有一些门槛的,为此,我封装了一个超级简单的库,来帮助大家使用libvlc。

使用

在我们的项目根目录下的build.gradle,引入jitpack:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

然后在我们项目的app下的引入库:

dependencies {
    implementation 'com.github.mafanwei:libvlc:Tag'
}

写本文时,tag为0.0.5,基于libvlc 3.2.5,可以通过链接查看最新的版本。
使用起来也非常的简单,只需要在我们需要播放媒体的activity下:

//创建一个builder对象
VlcVideoLibrary.Builder builder = new VlcVideoLibrary.Builder(context,true);
//设置一个要渲染的object: Surface/SurfaceView/TextureView/SurfaceTexture
builder.setSurfaceView(surfaceView);
//创建 VlcVideoLibrary对象
VlcVideoLibrary vlcVideoLibrary = builder.create();
//设置一个播放url,比如 rtsp.
vlcVideoLibrary.setPlayUrl("rtsp://192.168.31.192:1234");
//设置输出
vlcVideoLibrary.setVlcVout();
//开始播放
vlcVideoLibrary.startPlay();

如果你不想播放trsp想播放别的流媒体,只需要改播放的url就可以了
常见的协议头有:
http rtsp rtmp mms ftp
如果想播放文件,可以使用我封装的

setPlayFile
,只需要传一个文件路径就可以了,或者使用
setPlayUrl
传入file://路径即可。
我设置了建造者模式的builder,其中有很多的api,方便大家设置参数。大家看名称就能知道具体意思,在这里就不一一叙述了。
我还保留的
player
接口,你可以自己拿到,实现追踪媒体,快进,慢放,缩放等等一系列的功能。

如果需要更多的api,或者有更好的idea,可以在github上提issue/pr给我。
地址如下:github地址,欢迎star!

如果你觉得对你有用,请帮助我。


作者:mafanwei


阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-移动开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯