WebRTC-Android实践01

本文是基于 Android WebRTC完整入门教程 这篇文章的实践过程记录

项目源码地址:https://github.com/popobo/WebRTC_Android

01 使用相机

基本概念

  • RTC(Real Time Communication): 实时通信
  • WebRTC: 基于web的实时通信
  • Signaling: 信令, 一些描述媒体或网络的字符串
  • SDP(Session Description Protocol): 会话描述协议, 主要描述媒体信息
  • ICE(Interactive Connectivity Establishment): 交互式连接建立
  • STUN(Session Traversal Utilities for NAT): NAT会话穿透工具
  • TURN(Traversal Using Relays around NAT): 中继穿透NAT

使用方法

添加WebRTC库

在module的build.gradle(Module:cpp)中添加依赖,这个是官方打包的最新版本(202003)。当然你也可以 自己构建.

dependencies {
    ...
    // 添加WebRTC库
    implementation 'org.webrtc:google-webrtc:1.0.30039'
    ...
}

添加权限

在AndroidManifest.xml添加相机权限和录音权限, 注意Android6.0以上需要到设置里开启相机和麦克风权限

    <!--  相机权限和录音权限  -->
    <uses-permission android:name="android.permission.CAMERA"/>
    <uses-permission android:name="android.permission.RECORD_AUDIO"/>

Android6.0以上申请权限

@Override
    protected void onCreate(Bundle savedInstanceState) {
   
   
        ...
        verifyStoragePermissions(this);
    }

private static final int REQUEST_CAMERA_RECORD_AUDIO = 1;

    private static String[] PERMISSIONS_CAMERA_RECORD_AUDIO = {
   
   
            "android.permission.CAMERA",
            "android.permission.RECORD_AUDIO" };

    //然后通过一个函数来申请
    public static void verifyStoragePermissions(Activity activity) {
   
   
        try {
   
   
            //检测是摄像头的权限
            int permission = ActivityCompat.checkSelfPermission(activity,
                    "android.permission.CAMERA");
            if (permission != PackageManager.PERMISSION_GRANTED) {
   
   
                // 没有写的权限,去申请写的权限,会弹出对话框
                ActivityCompat.requestPermissions
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值