Android Studio 用NodeMedia播放RTSP视频

项目需要用Android 播放RTSP视频,用Android Studio自带的videoView 发现延时很大,达10秒左右,用NodeMedia播放RTSP视频,可设置缓存时间,将时延降至毫秒。

1、在settings.gradle中在下图位置加入

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

 2、菜单File->Project structrue,在弹出的对计算机框中依次点击Dependencies->All Dependencies->"+"号->1 Library Dependency.

 在弹出的对话框中输入

com.github.nodemedia:nodemediaclient-android:2.9.20

然后依次点击下图的1、2、3

3、xml文件

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match
### 如何在 NodePlayerView 中实现视频播放器缩放功能 为了实现在 `NodePlayerView` 组件中的视频播放器缩放功能,可以采用手势识别来处理用户的触摸事件并调整视图大小。具体来说,在 Android 开发环境中通常会利用 `ScaleGestureDetector` 来检测双指捏合动作从而改变显示区域的比例。 当接收到用户输入的手势信号后,程序应计算新的比例因子,并据此更新用于渲染视频帧的 Surface 或 Texture View 的尺寸参数[^1]: ```java // 创建 ScaleGestureDetector 对象实例化时传入回调接口 private ScaleGestureDetector scaleGestureDetector; scaleGestureDetector = new ScaleGestureDetector(context, new ScaleListener()); @Override public boolean onTouchEvent(MotionEvent event) { // 将触控事件传递给 ScaleGestureDetector 进行解析 scaleGestureDetector.onTouchEvent(event); return true; } class ScaleListener extends ScaleGestureDetector.SimpleOnScaleGestureListener { private float scaleFactor = 1.f; @Override public boolean onScale(ScaleGestureDetector detector) { scaleFactor *= detector.getScaleFactor(); // 设置最小最大缩放界限 scaleFactor = Math.max(0.1f, Math.min(scaleFactor, 5.0f)); // 更新节点玩家视图布局参数以反映当前缩放级别 ViewGroup.LayoutParams params = nodePlayerView.getLayoutParams(); params.width = (int)(originalWidth * scaleFactor); params.height = (int)(originalHeight * scaleFactor); nodePlayerView.setLayoutParams(params); return true; } } ``` 上述代码片段展示了如何通过监听手势变化动态修改 `NodePlayerView` 控件的宽高属性达到视觉上的放大缩小效果。需要注意的是这里假设存在名为 `nodePlayerView` 的变量指向实际使用的媒体展示界面组件;另外还涉及到原始宽度 (`originalWidth`) 和高度 (`originalHeight`) 的保存以便于后续基于这些基础值来进行适当的比例转换操作。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值