集成 SDK(音视频)
更新时间: 2024/03/15 16:57:58
本文为您介绍 macOS 端集成 SDK 的操作步骤,帮助您快速集成 SDK,开始使用音视频通话的基本功能。
开发环境要求
在开始运行工程之前,请您准备以下开发环境:
- Xcode 11 及以上版本。
- mac OS X 10.11 或以上版本的 Mac 设备。
- 项目已配置有效的开发者签名。
SDK 目录
文件/文件夹名称 | 是否必选 | 说明 |
---|---|---|
nertc_sdk_Mac.framework | 是 | 音视频通话基础模块。 |
NEFundation_Mac.framework | 是(自 V5.3.0 起:否) | |
NERtcnn.framework |
|
机器学习(自 V4.6.20 起提供)。
|
NERtcBeauty.framework | 否 | 美颜插件(自 V4.6.20 起提供)。 |
NERtcFaceDetect.framework | 否 | 人脸检测插件(自 V4.6.20 起提供,使用美颜时还需要该插件)。 |
NERtcPersonSegment.framework | 否 | 虚拟背景插件(自 V4.6.20 起提供,M1 芯片的 Mac 设备暂不支持此功能。)。 |
NERtcAiDenoise.framework | 否 | AI 降噪插件(自 V4.6.40 起提供)。 |
NERtcAiHowling.framework | 否 | AI 啸叫检测插件(自 V4.6.40 起提供,M1 芯片的 Mac 设备暂不支持此功能。)。 |
NERtcFaceEnhance.framework | 否 | 人脸增强插件(自 V5.3.0 起提供)。 |
NERtcVideoDenoise.framework | 否 | 视频降噪插件(自 V5.3.0 起提供)。 |
NERtcSuperResolution.framework | 否 | 视频 AI 超分插件(自 V5.3.0 起提供)。 |
NERtcScreenShareEnhance.framework | 否 | 屏幕增强插件(自 V5.3.0 起提供)。 |
NERtcAudio3D.framework | 否 | 空间音效插件(自 V5.4.0 起提供)。 |
步骤1 集成 SDK
方式一:使用 CocoaPods 自动集成
- V4.4.1 ~ V4.6.13 版本的 NERTC SDK,暂不支持 CocoaPods 集成,建议使用方式二:手动集成。
- 请确保您的 Mac 已经安装 Ruby 环境。
-
创建项目。
您可以参考此步骤创建新项目。如果您需要集成到已有的项目,请忽略该步骤。
在 XCode 里,依次选择 Create a New XCode Project > Single View App > Next 新建工程,再配置工程相关信息和合适的工程本地路径,单击 Create。
-
安装 CocoaPods。
在终端窗口中输入如下命令:
sudo gem install cocoapods
-
创建 Podfile 文件。
从 Terminal 中进入您所创建项目所在路径,运行以下命令创建
Podfile
文件。pod init
-
您可以按需选择直接使用 Podfile 集成 NERtcSDK,或在您的项目组件的 Podspec 中引入 NERtcSDK。
方式一:使用 Podfile 集成编辑 Podfile 文件。
# platform :macos, '10.11' target '{YourApp}' do pod 'NERtcSDK-MacOS', '~> {version}' end
参数 说明 YourApp 您的 Target 名称。 version 待集成的 NERTC SDK 版本号。
建议使用最新版本,请从 SDK 下载中心查看 NERTC SDK 最新版本的版本号。
若要使用其他版本,请联系网易云信技术支持推荐合适的版本。V4.6.20 及之后版本支持插件化的方式按需集成动态库,请参考以下代码实现:
//集成 SDK 但不使用任何插件 # platform :macos, '10.11' target '{YourApp}' do pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic'] end //V4.6.20~V4.6.X版本,集成 SDK 且使用部分插件,以美颜为例 # platform :macos, '10.11' ' target '{YourApp}' do pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic', 'Beauty', 'FaceDetect'] end //V5.3.0及以上版本,集成 SDK 且使用部分插件,以美颜为例 # platform :macos, '10.11' ' target '{YourApp}' do pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic', 'Nenn', 'Beauty', 'FaceDetect'] end
subspecs
中请填入待引入的动态库对应的值,具体说明如下表所示。功能/插件 subspecs
的值对应的 framework
动态库音视频 RtcBasic
必选基础库 nertc_sdk_Mac.framework
NEFundation_Mac.framework
:V5.3.0 及之后版本去掉了该库文件。NERtcnn.framework
:- V4.6.20 ~V4.6.X 版本:该动态库必选。
- V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频啸叫检测、人脸增强、屏幕增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
神经网络 Nenn
神经网络库: NERtcnn.framework
V5.3.0 及之后版本,集成美颜、虚拟背景、音频啸叫检测、人脸增强插件时,需要集成该库文件。基础音视频不需要集成该库文件。 美颜 Beauty
美颜库: NERtcBeauty.framework
FaceDetect
人脸检测库: NERtcFaceDetect.framework
虚拟背景 Segment
虚拟背景库: NERtcPersonSegment.framework
AI 降噪 AiDenoise
AI 降噪库: NERtcAiDenoise.framework
AI 啸叫检测 AiHowling
AI 啸叫检测库: NERtcAiHowling.framework
人脸增强 FaceEnhance
人脸增强库: NERtcFaceEnhance.framework
视频降噪 VideoDenoise
视频降噪库: NERtcVideoDenoise.framework
视频 AI 超分 SuperResolution
视频 AI 超分库: NERtcSuperResolution.framework
屏幕增强 ScreenShareEnhance
屏幕增强库: NERtcScreenShareEnhance.framework
空间音效 SpatialSound
空间音效库: NERtcAudio3D.framework
方式二:在 Podspec 中引入 NERtcSDK编辑 Podspec 文件。
Pod::Spec.new do |{YourSpec}| {YourSpec}.dependency "NERtcSDK-MacOS", "~> {version}" end
参数 说明 YourSpec 您的 Target 名称。 version 待集成的 NERTC SDK 版本号。
建议使用最新版本,请从 SDK 下载中心查看 NERTC SDK 最新版本的版本号。
若要使用其他版本,请联系网易云信技术支持推荐合适的版本。V4.6.20 及之后版本支持插件化的方式按需集成动态库,请参考以下代码实现:
//集成 SDK 但不使用任何插件 Pod::Spec.new do |{YourSpec}| {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic", "~> {version}" end //V4.6.20~V4.6.X版本,集成 SDK 且使用部分插件,以美颜为例 Pod::Spec.new do |{YourSpec}| {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic", "~> {version}" {YourSpec}.dependency "NERtcSDK-MacOS/Beauty", "~> {version}" {YourSpec}.dependency "NERtcSDK-MacOS/FaceDetect", "~> {version}" end //V5.3.0 及以上版本,集成 SDK 且使用部分插件,以美颜为例 Pod::Spec.new do |{YourSpec}| {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic", "~> {version}" {YourSpec}.dependency "NERtcSDK-MacOS/Nenn", "~> {version}" {YourSpec}.dependency "NERtcSDK-MacOS/Beauty", "~> {version}" {YourSpec}.dependency "NERtcSDK-MacOS/FaceDetect", "~> {version}" end
subspecs
中请填入待引入的动态库对应的值,具体说明如下表所示。功能/插件 subspecs
的值对应的 framework
动态库音视频 RtcBasic
必选基础库 nertc_sdk_Mac.framework
NEFundation_Mac.framework
:V5.3.0 及之后版本去掉了该库文件。NERtcnn.framework
:- V4.6.20 ~V4.6.X 版本:该动态库必选。
- V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频啸叫检测、人脸增强、屏幕增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
神经网络 Nenn
神经网络库: NERtcnn.framework
V5.3.0 及之后版本,集成美颜、虚拟背景、音频啸叫检测、人脸增强插件时,需要集成该库文件。基础音视频不需要集成该库文件。 美颜 Beauty
美颜库: NERtcBeauty.framework
FaceDetect
人脸检测库: NERtcFaceDetect.framework
虚拟背景 Segment
虚拟背景库: NERtcPersonSegment.framework
AI 降噪 AiDenoise
AI 降噪库: NERtcAiDenoise.framework
AI 啸叫检测 AiHowling
AI 啸叫检测库: NERtcAiHowling.framework
人脸增强 FaceEnhance
人脸增强库: NERtcFaceEnhance.framework
视频降噪 VideoDenoise
视频降噪库: NERtcVideoDenoise.framework
视频 AI 超分 SuperResolution
视频 AI 超分库: NERtcSuperResolution.framework
屏幕增强 ScreenShareEnhance
屏幕增强库: NERtcScreenShareEnhance.framework
空间音效 SpatialSound
空间音效库: NERtcAudio3D.framework
-
执行以下命令查询本地库版本。
pod search NERtcSDK-MacOS
-
执行以下命令更新本地库版本。
pod repo update
-
执行以下命令安装 SDK。
pod install
至此, NERTC SDK 已经导入完成。
方式二:手动集成
-
前往网易云信 SDK 下载中心获取当前最新版本 SDK,或联系网易云信技术支持获取对应版本的 SDK 安装包。
-
解压 SDK 安装包,根据您需要集成的能力,选择对应的
XX.framework
文件加入到工程路径下,具体如下表所示。功能/插件 framework
动态库所有能力 所有 framework
动态库音视频 nertc_sdk_Mac.framework
NEFundation_Mac.framework
:V5.3.0 及之后版本去掉了该库文件。NERtcnn.framework
:- V4.6.20 ~V4.6.X 版本:该动态库必选。
- V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频啸叫检测、人脸增强、屏幕增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
美颜 - 美颜库:
NERtcBeauty.framework
- 人脸检测库:
NERtcFaceDetect.framework
- 机器学习库:
NERtcnn.framework
虚拟背景 - 虚拟背景库:
NERtcPersonSegment.framework
- 机器学习库:
NERtcnn.framework
音频 AI 降噪 AI 降噪库: NERtcAiDenoise.framework
AI 啸叫检测 - AI 啸叫检测库:
NERtcAiHowling.framework
- 机器学习库:
NERtcnn.framework
人脸增强 - 人脸增强库:
NERtcFaceEnhance.framework
- 机器学习库:
NERtcnn.framework
视频降噪 视频降噪库: NERtcVideoDenoise.framework
视频 AI 超分 视频 AI 超分库: NERtcSuperResolution.framework
屏幕增强 - 屏幕增强库:
NERtcScreenShareEnhance.framework
- 机器学习库:
NERtcnn.framework
空间音效 空间音效库: NERtcAudio3D.framework
- V4.6.20 及之后版本支持插件化方式按需引入动态库。
- 若您集成的 NERTC SDK 为 V4.6.20 之前的版本,请直接将解压之后的
NEFundation_Mac.framework
和nertc_sdk_Mac.framework
文件加入到工程路径下。
-
打开 Xcode ,在左侧导航栏中选择目标Target,单击 Build Phases页签,在 Link Binary with Libraries 区域,单击 + 添加相应的 framework 动态库,待添加的动态库如上表所示。
不同版本的动态库有差异,请以实际为准,具体请参见SDK 目录。
-
将 Embed 属性设置为 Embed & Sign,保证 SDK 动态库和应用签名保持一致。
步骤2 设置签名并添加媒体设备权限
-
使用 SDK 提供的音视频功能,需要给 App 授权麦克风、摄像头和 Wi-Fi 的使用权限。
在
info.plist
中添加以下三项:- Privacy - Microphone Usage Description,并填入麦克风使用目的提示语。
- Privacy - Camera Usage Description,并填入摄像头使用目的提示语。
- Application uses Wi-Fi,设置为 YES。
-
设置签名。
- 在 Xcode 中,依次选择 TARGETS > Project Name,单击 Signing & Capabilities页签,勾选 Automatically manage signing。
- 在 Team 中选择您的开发团队。
-
如果 App 启用了 App Sandbox 或 Hardened Runtime,请在 Signing & Capabilities 页面的 App Sandbox 和 Hardened Runtime 区域,选择 Network、Camera 和 Audio Input 这几个选项。