一、配置文件

  1.导入库文件jniLibs到main文件夹下

   

  2.导入red5streaming.jar

  3.在build里到入其他的包,代码如下: 

 dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'ch.qos.logback:logback-classic:1.2.3'
implementation 'ch.qos.logback:logback-core:1.2.3'
implementation 'org.apache.mina:mina-core:2.1.3'
implementation 'org.slf4j:slf4j-api:1.7.28'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.googlecode.mp4parser:isoparser:1.1.22'
implementation 'com.google.code.gson:gson:2.8.2'
implementation files('libs\\red5streaming.jar')
}

  4.声明权限

  

     <uses-permission android:name="android.permission.CAMERA" /><!--拍照-->
<uses-permission android:name="android.permission.INTERNET" /><!--网络-->
<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT"
tools:ignore="ProtectedPermissions" /><!--允许应用程序捕获音频输出-->
     <uses-permission android:name="android.permission.RECORD_AUDIO" /><!--允许录制声音-->
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /><!--允许程序写入外部存储-->
7 <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /><!--允许程序修改声音设置信息-->

二、布局文件

  在你需要显示的布局中加入以下代码即可

 <com.red5pro.streaming.view.R5VideoView
android:id="@+id/videoView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true" />

三、具体实现的代码

  1.实现R5ConnectionListener接口里的方法(onConnectionEvent这是连接的监听)

  2.通过R5ConnectionEvent枚举里可拿到一个变量,两个方法。可以通过监听里拿到的R5ConnectionEvent和系统里的作判断

   2-1-1)       message;

   2-1-2)       name();    value();[==eventCode]

   2-2.R5ConnectionEvent枚举里所有的值

    CONNECTED(0),//已连接状态
DISCONNECTED(1),//断开状态
ERROR(2),//异常状态
TIMEOUT(3),//超时
CLOSE(4),//关闭通道
START_STREAMING(5),//启动-流媒体
STOP_STREAMING(6),//停止流媒体
NET_STATUS(7),//网络状况
AUDIO_MUTE(8),//音频静音
AUDIO_UNMUTE(9),//音频取消静音
VIDEO_MUTE(10),//视频静音
VIDEO_UNMUTE(11),//视频取消静音
LICENSE_ERROR(12),//sdk 许可证出现错误
LICENSE_VALID(13),//许可证有效
BUFFER_FLUSH_START(14),//缓冲器冲洗启动
BUFFER_FLUSH_EMPTY(15),//缓冲区冲洗空
VIDEO_RENDER_START(16),//视频渲染开始
ABR_LEVEL_CHANGED(17),//ABR_级别_已更改
SRTP_KEY_GEN_ERROR(18),//SRTP密钥生成错误
SRTP_KEY_HANDLE_ERROR(19);//SRTP_KEY_HANDLE异常

  3.具体连接和观看直播的代码书写

R5Configuration config = new R5Configuration(R5StreamProtocol.RTSP,"192.168.1.103",8554,"live",0.5f);
config.setLicenseKey("********");//[属性1:协议,属性2:主机地址,属性3:端口,属性4:上下文名称(应该可随意填写还没试过),属性5:缓冲时间]
     
config.setBundleID(this.getPackageName());//给他一个id就行 R5Connection connection = new R5Connection(config);//R5连接对象 //setup a new stream using the connection
subscribe = new R5Stream(connection);//推流还是流的来源都是这个 subscribe.audioController = new R5AudioController();//new red5里面的音频控制器给subscribe
subscribe.audioController.sampleRate = 44100;//采样频率 subscribe.client = this;
subscribe.setListener(this); //show all logging
subscribe.setLogLevel(R5Stream.LOG_LEVEL_DEBUG); //display.setZOrderOnTop(true);
display.attachStream(subscribe);//附加流 display.showDebugView(true);//设置显示调试
subscribe.play("stream1", true);//开始播放[属性1:播放的流名字 属性2:是不是需要开启硬件加速]

    后续续拆解直播和打游戏录屏直播的解释.....请要关注我哦!

使用Red5-Pro Android官方Demo拆解分析(一)的更多相关文章

  1. android 官方demo地址

    android官方demo地址都放在了github上:https://github.com/googlesamples

  2. [Android Pro] Android 官方推荐 : DialogFragment 创建对话框

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37815413 1. 概述 DialogFragment在android 3.0时 ...

  3. [Android Pro] android root权限破解分析

    许 多机友新购来的Android机器没有破解过Root权限,无法使用一些需要高权限的软件,以及进行一些高权限的操作,其实破解手机Root权限是比较简 单及安全的,破解Root权限的原理就是在手机的/s ...

  4. Android 官方DEMO - ActionBarCompat-Basic

    ActionBarCompat-Basic Demo下载地址:https://github.com/googlesamples/android-ActionBarCompat-Basic/#readm ...

  5. Android 官方DEMO BasicNetworking

    本示例演示如何使用Android API检查网络连接. Demo下载地址:https://github.com/googlesamples/android-BasicNetworking/#readm ...

  6. Android 官方Demo ActionBarCompat-Styled

    ActionBarCompat-Styled Demo下载地址:https://github.com/googlesamples/android-ActionBarCompat-Styled/#rea ...

  7. 如何成功实施SDL提供的官方Android平台Demo

    如何成功实施SDL提供的官方Android平台Demo 作者:雨水  日期:2014-4-30 编写说明:SDL的官方提供了一个Anroid的demo模板SDLActivity,无法直接执行,依照官方 ...

  8. (原创)cocos2dx-lua TableView官方demo分析

    本来是想看看网上的教程文章,结果看了好几篇,复制代码各种报错,有很多不存在的类和变量,根本用不了. 所以干脆自己去看官方demo,经过自己分析测试,已经大概会用了,顺便记录一下. 以下是代码,复制粘贴 ...

  9. RobotFramework 官方demo Quick Start Guide rst配置文件分析

    RobotFramework官方demo Quick Start Guide rst配置文件分析   by:授客 QQ:1033553122     博客:http://blog.sina.com.c ...

随机推荐

  1. Numpy中的广播机制,数组的广播机制(Broadcasting)

    这篇文章把numpy中的广播机制讲的十分透彻: https://jakevdp.github.io/PythonDataScienceHandbook/02.05-computation-on-arr ...

  2. npm设置为淘宝镜像地址

    1. npm设置为淘宝镜像 $npm config set registry https://registry.npm.taobao.org 2. 检查一下 $npm config get regis ...

  3. 黎活明8天快速掌握android视频教程--24_网络通信之网页源码查看器

    1 该项目的主要功能就是从将后台的html网页在Android的界面上显示出来 后台就是建立一个java web工程在工程尚建立一个html或者jsp文件就可以了,这里主要看Android客户端的程序 ...

  4. java中“”==“” equals hashcode的关系

    ava中的数据类型,可分为两类: 1.基本数据类型,也称原始数据类型.byte,short,char,int,long,float,double,boolean 他们之间的比较,应用双等号(==),比 ...

  5. 使用反应式关系数据库连接规范R2DBC操作MySQL数据库

    1. 简介 三月份已经介绍过R2DBC,它是一种异步的.非阻塞的关系式数据库连接规范.尽管一些NoSQL数据库供应商为其数据库提供了反应式数据库客户端,但对于大多数项目而言,迁移到NoSQL并不是一个 ...

  6. h5请求签名加密

    签名说明 签名对 url + method + 业务参数 进行统一签名,防止重放和篡改 客户端js对加密逻辑和appSecret进行混淆加密处理,增加破解难度 客户端本地存储appid 和 appSe ...

  7. Redis系列(六):数据结构List双向链表LPUSH、LPOP、RPUSH、RPOP、LLEN命令

    1.介绍 redis中的list既实现了栈(先进后出)又实现了队列(先进先出) 1.示意图 2.各命令详解 LPUSH/RPUSH LPUSH: 从队列的左边入队一个或多个元素 将所有指定的值插入到存 ...

  8. 入门大数据---基于Zookeeper搭建Kafka高可用集群

    一.Zookeeper集群搭建 为保证集群高可用,Zookeeper 集群的节点数最好是奇数,最少有三个节点,所以这里搭建一个三个节点的集群. 1.1 下载 & 解压 下载对应版本 Zooke ...

  9. 入门大数据---Kafka生产者详解

    一.生产者发送消息的过程 首先介绍一下 Kafka 生产者发送消息的过程: Kafka 会将发送消息包装为 ProducerRecord 对象, ProducerRecord 对象包含了目标主题和要发 ...

  10. asp .net core发布订阅kafka

    Kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性: 通过O的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能. 高吞吐量:即使是非常普通的硬件Ka ...