400-123-4657
行业资讯
您当前的位置: 首页 > 新闻动态 > 行业资讯

Android蓝牙PBAP获取通话记录及日期时间教程 - 马北剑西博客推荐

时间:2025-03-13

每日建议

[Android蓝牙PBAP获取呼叫历史记录和呼叫日期和时间],这是与蓝牙有关的文章,如果您有兴趣,可以学习它〜

本文的作者

本文由Ma Beijianxi撰写。

Ma Bei Jianxi的博客地址:

我也推了一篇文章:您可以一起学习〜

概述

该库是Miaopai开源库的临时开发项目,旨在开发一个简单,易于使用和高效的视频录制库。该文档仅涉及Java层次结构逻辑,并且正在练习与业余爱好者中与JNI相关的C语言。如果您很幸运地撰写第二篇文章,则将对其进行更深入的分析,例如FFMPEG编译和与JNI相关的代码写作。繁殖图像:

功能描述:

使用FFMPEG记录自定义的视频,并可以自定义压缩。例如,设置视频尺寸,设置代码速率,代码速率模式,帧速率,视频质量级别,压缩速度等,当然,这些只是暂时的,稍后将继续维护。

项目地址:

如何使用

1:添加依赖性编译'com.mabeijianxi:小视频记录:1.2.0'

2:添加清单

3:在应用程序中初始化简短的视频记录:

4:跳跃录制界面:

原理解释

基本过程是调用系统摄像头和AudioreCord,以获取视频和音频的字节回调,然后配置参数ffmpeg,并在结束后获取目标视频。

(1)配置相机参数:

首先,我们录制的视频是垂直的,因此我们需要旋转90°(默认为水平记录):camera.setDisplayorientation(90);

然后设置显示控件:camera.setPreviewDisplay(msurfaceholder);

帧速率设置:可以传递此参数,但是每个相机支持的大小都不同,因此当您通过MaxFramerate时,我会再次检查它。如果当前的摄像头支持此帧速率,请使用它。如果不支持它,请选择最接近它的最接近和小的。如果您的价值很小,那么仍然可能找不到。目前,选择最小的一个。特定算法如下:

相机输出尺寸设置:

通过系统API mparameters.getSupportedPreviewSizes(),您可以得到当前摄像头支撑的大小。请注意,这里返回的大小对应于屏幕的短侧,宽度对应于屏幕的长侧,这意味着我们还需要验证传入的SmallVideOwIdth是否支持它。当然,不需要检查SmallVideHeight。

因为这是一个简短的视频,所以我们当时可能会切断其中的一些。验证完成后,我们可以获得相应的高度,对应于传入的小videDIDTH并由相机支撑。只需设置此宽度和高度即可。常见的小videWidths包括480、720、1080,等。

细节如下:

设置采样率:

有两种通用格式:NV21/YV12,mparameters.setpreviewformat(imageFormat.nv21)

(2)接收设备并传递FFMPEG声音(请参阅AudioreCorder类中的特定音频)视频数据:首先,您需要知道一些FFMPEG命令:

接下来,我们可以在录制之前配置我们的录制参数:

我们在此处设置了一个旋转过滤器和一个剪切过滤器。由于我们录制了垂直视频,因此将其旋转90°,然后将其切成我们设置的视频尺寸。当然,有三个获取功能,即视频质量水平,转码速度和代码速率模式。

视频质量级别命令是-crf [size]:

转编码速度命令是-preset [What dist]:

比特率模式:比特率模式分为VBR和CBR。我添加了三个类Autovbrmode,VBRMODE和CBRMODE。它们都可以以转码速度传递。如果您不想关心这么多的东西,则只需要在没有参数的情况下传递Autovbrmode对象即可。只有在Autovbrmode模式下,您才能传递视频质量级别值,这将在最大程度上控制视频质量。可以在VBRMode模式下指定最大代码率和额定代码速率。 ,只需在CBRMode模式下输入并退出固定的比特率。

配置后,您可以开始记录并将数据传输到相机数据回调中的基础层。

(3)多个视频合并

在录制过程中,我们可以暂停录制,这可能会生成n个简短的视频。我们需要合并视频。也可以使用FFMPEG命令轻松实现它:

在这里,视频和音频编解码器可以使用原始数据。该命令是-vcodec副本-acodec副本,因此速度更快。 -ABSF代表用于匹配流的Bitstream滤波器,当然还有-VBSF。指定的最新方法是-bsf:v

(4)进一步转码和压缩

如果未设置DOH264 -COMPRESS参数,则不会执行以下逻辑

上面我们指定了视频编解码器是libx264,音频编解码器是libfdkaac,然后压缩您个性化和冲动的DOH264 -COMPRESS参数。之后,我们得到了压缩视频。

(5)将视频中的框架密封为封面

总结

该库的优点是它既简单又方便,具有强大的可控性,并且将继续在后期维持。

缺点是FFMPEG的优势是旧的,后来我将考虑自己编制副本。当时,使用FFMPEG播放Android视频录制和压缩(2)也将出现。这些优势开始被期望。有兴趣的学生

注意:

请满足汇编环境:targetsdkversion

地址:广东省广州市天河区88号   电话:400-123-4657   传真:+86-123-4567
版权所有:Copyright © 2002-2025 K8·凯发(中国)马竞赞助商·一触即发 版权所有 非商用版本      ICP备案编号:粤IP**********
K8·凯发(中国)马竞赞助商·一触即发