跑通示例项目 编辑文档

简介

集成擎声QttAudio SDK,获得一对一和多人的高清语音通话功能,适用于语聊房、在线KTV、语音社交、语音会议等场景。

本文档相关的示例相关代码在Github的Android_Example仓库上,如需下载请点击链接进行下载。

前提条件

  • 开发环境要求:

    Java Development Kit

    Android Studio 3.0 及以上

  • Android4.1以上的真机设备,不支持模拟器

  • Android SDK API 等级 16 或以上

操作步骤

1.创建项目

按照以下步骤,在控制台创建一个项目。

1.1:登录QttAudio控制台,登录成功后会显示项目概览页面。

1.2:在项目概览页面,点击创建项目按钮。

1.3:在弹出的对话框内输入项目名称,选择项目所处阶段。

1.4:点击确定创建成功后,会在列表上显示项目相关的信息。

image.png

如果您已经clone了Github的Android_Example项目,只需走完下个步骤就可以开始语音通话,没有下载的请直接跳到步骤三。

2.配置运行Android_Example项目

在经过步骤1的操作后,成功创建项目以及项目的Appkey,参考以下步骤配置示例项目:

2.1:解压Android_Example项目后,使用Android Studio打开,找到app\src\main\java\com\example\qttexample\utils\Constant.java,将项目的AppKey拷贝到Constant.APP_KEY

public class Constant {
public static final String APP_KEY="Project AppKey";
}

2.2:填充AppKey,编译运行成功后,这样就可以开始语音通话。

image.png

3.快速集成SDK

3.1:集成SDK方式

方式一:Gradle集成SDK

implementation 'com.qttaudio:android-sdk:1.9.4.1'

方式二:手动添加SDK

  • 下载SDK进行解压;

  • 拷贝.so和.jar,然后粘贴在原有的Android项目或者创建新的Android项目/app/lib的目录下,并在项目的 /app/build.gradle 文件中,添加如下代码:

    android {
        ...
        sourceSets {
            main {
                jniLibs.srcDirs = ['libs']
            }
        }
    }
    

3.2:在/app/src/main/AndroidManifest.xml 文件中添加如下内容:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

需要动态权限申请,请在代码上进行申请,此处忽略。如需,请参考链接:动态权限申请

4.实现语音通话

4.1 初始化引擎

private void initEngine(){
ChannelEngine.SetLogFile("/mnt/sdcard/log.log");
ChannelEngine mChannelEngine = ChannelEngine.GetChannelInstance(Context,APP_KEY //从步骤1项目中拷贝过来
,new ChannelObserver() {
//进入房间成功回调
@Override
public void onJoinSuccess(String roomName, long uid, ChannelRole channelRole, boolean mute){
Log.d("debug","onJoinSuccess");
}
....
});
join();
}

4.2 进入房间前配置以下信息

private void join(){
//设置音频质量:双声道,通话模式
mChannelEngine.setAudioConfig(AUDIO_QUALITY_SPEECH_STEREO, AUDIO_MODE_CALL)
//设置为主播
mChannelEngine.changeRole(ChannelRole.TALKER);
//开启扬声器输出
mChannelEngine.setSpeakerOn(true);
//开启人声检测,延迟500ms
mChannelEngine.setVolumeDectection(500);
mChannelEngine.join("","123456",0);
}

4.3 退出房间

mChannelEngine.leave();

5.编译并运行示例项目

当你走到成功走到这一步后就可以编译运行项目,开始语音通话了。

野狗新手?
立即注册,为你提供安全可靠的实时通信云服务。
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题