iOS端快速集成

AUI Kits 在线K歌房场景集成工具是阿里云提供的跨平台音视频实时通信服务,为业务方提供在线点歌、独唱、多人合唱、语音聊天等场景的能力,借助通信的稳定、流畅、灵活的产品能力,以低代码的方式助力业务方快速发布应用。

源码说明

源码下载

下载地址,请参见源码地址

目录结构

├── iOS  // iOS平台的根目录
│   ├── AUIKaraokeRoom.podspec                // pod描述文件
│   ├── Source                                    // 源代码文件
│   ├── Resources                                 // 资源文件
│   ├── Example                                   // Demo代码
│   ├── AUIRoomCore                               // 互娱语聊场景核心组件 
│   ├── AUIVoiceRoom                              // 语聊房场景UI组件 
│   ├── AUIBaseKits                               // 基础UI组件   
│   ├── README.md                                 // Readme

环境要求

  • Xcode 14.0 及以上版本,推荐使用最新正式版本

  • CocoaPods 1.9.3 及以上版本

  • 准备 iOS 10.0 及以上版本的真机

前提条件

需要开通应用,并且在你的服务端上开发相关接口或直接部署提供的Server源码,请参见前置准备

快速开发自己的在线K歌房功能

可通过以下几个步骤快速集成AUIKaraokeRoom到你的APP中,让你的APP具备在线K歌房功能

集成源码

  • 导入AUIKaraokeRoom:仓库代码下载后,拷贝iOS文件夹到你的APP代码目录下,改名为AUIKaraokeRoom,与你的Podfile文件在同一层级,可以删除Example目录

  • 修改你的Podfile,引入:

  • AliVCSDK_ARTC:适用于互动直播的音视频终端SDK,也可以使用:AliVCSDK_Standard或AliVCSDK_InteractiveLive,参考iOS端

  • AUIFoundation:基础UI组件

  • AUIMessage:互动消息组件

  • AUIRoomCore:互娱语聊场景核心组件,包含在线K歌房场景化API

  • AUIVoiceRoom:语聊房场景UI组件源码

  • AUIKaraokeRoom:在线K歌房场景UI组件源码

#需要iOS10.0及以上才能支持
platform :ios, '10.0'

target '你的App target' do
    # 根据自己的业务场景,集成合适的音视频终端SDK,支持:AliVCSDK_ARTC、AliVCSDK_Standard、AliVCSDK_InteractiveLive
    pod 'AliVCSDK_ARTC', '~> 6.10.2'

    # 基础UI组件
    pod 'AUIFoundation', :path => "./AUIKaraokeRoom/AUIBaseKits/AUIFoundation/"

    # 互动消息组件
    pod 'AUIMessage/AliVCIM', :path => "./AUIKaraokeRoom/AUIBaseKits/AUIMessage/"

    # 在线K歌房场景化API
    pod 'AUIRoomCore/AliVCSDK_ARTC', :path => "./AUIKaraokeRoom/AUIRoomCore/"
    pod "AUIRoomCore/KaraokeRoomAPI", :path => './AUIKaraokeRoom/AUIRoomCore/'
    
    # 语聊房场景UI组件
    pod 'AUIVoiceRoom',  :path => "./AUIKaraokeRoom/AUIVoiceRoom/"
    
    # 在线K歌房场景UI组件
    pod 'AUIKaraokeRoom', :path => "./AUIKaraokeRoom/"
end

  • 执行“pod install --repo-update”

  • 源码集成完成

工程配置

  • 打开工程info.Plist,添加NSMicrophoneUsageDescription权限

  • 打开工程设置,在”Signing & Capabilities“中开启“Background Modes”

源码配置

  • 完成前提条件后,进入文件AUIVoiceRoomManager.swift,修改服务端域名

// AUIVoiceRoomManager.swift
let VoiceRoomServerDomain = "你的应用服务器域名"

  • 完成前提条件后,进入文件AUIKaraokeRoomManager.swift,修改服务端域名

// AUIKaraokeRoomManager.swift
public let KaraokeRoomServerDomain = "你的应用服务器域名"

  • 完成前提条件后,进入文件ARTCRoomRTCService.swift,修改互动直播应用appID

// ARTCRoomRTCService.swift
@objcMembers public class ARTCRoomConfig: NSObject {
    
    public var appId = "你的appID"
    ...
}

调用API

前面工作完成后,接下来可以根据自身的业务场景和交互,可以在你APP其他模块或主页上通过组件接口快速实现在线K歌房功能,也可以根据自身的需求修改源码。

// 初始化,进入在线K歌房前(需确保已经App登录)
let user = ARTCRoomUser(uid) // 当前登录用户信息
user.userNick = nick
user.userAvatar = avatar
let serverAuth = auth  // app登录后的token,用于服务端安全校验
AUIKaraokeRoomManager.shared.setup(currentUser: user!, serverAuth: serverAuth)


// 打开在线K歌房间列表
let listVC = AUIKaraokeRoomListViewController()
self.navigationController?.pushViewController(listVC, animated: false)

// 创建在线K歌房
AUIKaraokeRoomManager.shared.createRoom(currVC: self)

// 加入在线K歌房
AUIKaraokeRoomManager.shared.enterRoom(roomId: roomInfo.roomId, currVC: self)

运行结果

参考Demo体验

常见问题

更多AUIKits问题咨询及使用说明,请搜索钉钉群(35685013712)加入AUI客户支持群联系我们。