我正在使用pjsua2库构建应用程序。随库提供的示例应用程序运行正常。但在我的应用中,当我尝试使用以下代码拨打电话时,
if (currentCall != null) {return;}
String buddy_uri = "sip:" + number + "@" + domain;
MyCall call = new MyCall(account, -1);
CallOpParam prm = new CallOpParam(true);
try {
call.makeCall(buddy_uri, prm);
} catch (Exception e) {
call.delete();
return;
}
currentCall = call;
我在下面得到了例外,
java.lang.Exception: Title: pjsua_call_make_call(acc.getId(),
&pj_dst_uri, param.p_opt, this, param.p_msg_data, &id)
Code: 420003
Description: Audio subsystem not initialized (PJMEDIA_EAUD_INIT)
Location: ../src/pjsua2/call.cpp:490
这个错误只出现在Marshmallow,在Kitkat设备中,它的工作正常。有人可以对这个问题有所了解吗?
答案 0 :(得分:4)
在Marshmallow的Android中,我们需要获得权限。
我使用以下代码检查并获取用户的权限。
Input to 1D convolution
1D Convolution to 2D Convolution Transpose
1D Convolution to Dense
答案 1 :(得分:2)
可以定义您构建PJSIP的Android SDK目标。您应在APP_ABI
文件中将:=ALL
指定为Application.mk
。您之前要检查的其他内容包括NDK
和armeabi
。在构建PJSUA2
之前仔细阅读这些内容here。
答案 2 :(得分:0)
当我从25岁开始将targetSdkVersion变为19时,呼叫开始在Kitkat和Marshmallow工作。我不知道具体原因。任何知道的人,请发表答案。
答案 3 :(得分:0)
我遇到了同样的问题,因为我没有在运行时请求 SharedPreferences prefs = this.getSharedPreferences("Date_PREF", Context.MODE_PRIVATE);
SharedPreferences sharedPreferences = getPreferences(MODE_APPEND);
SharedPreferences.Editor editor = sharedPreferences.edit();
权限。
检查有关权限的documentation。
答案 4 :(得分:0)
在Android Manifest文件中声明音频权限,然后要求用户记录音频权限。