我正在尝试使用该Debug As->Android Native Application
选项调试"csipsimple"android应用程序中的本机代码.我用这个教程来做.我一直收到这些错误:
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome] Android
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome] NDK:
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome] Uses
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome] local
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome] settings
[2013-06-09 17:24:24 - SipHome] Unknown Application ABI:
[2013-06-09 17:24:24 - SipHome]
[2013-06-09 …
Run Code Online (Sandbox Code Playgroud) 我想在我的测验游戏中添加sip调用.所以,我通过这种方式构建了SipHome项目:
http://code.google.com/p/csipsimple/wiki/HowToBuild#Without_building_the_native_library
没关系.应用程序编译和启动.现在我想在我的应用上添加视频通话功能.结账后(http://csipsimple.googlecode.com/svn/trunk/)我也有这个SVN依赖项:
CSipSimpleBranded
CSipSimpleCodecG729
CSipSimpleCodecPack
CSipSimpleVideoPlugin
Run Code Online (Sandbox Code Playgroud)
我将来自CSipSimpleVideoPlugin项目的类PluginReceiver,CaptureReceiver,PluginReceiverFfmpeg和PluginReceiverVpx 放到了SipHome项目中.而且我还将接收器的描述放到了SipHome清单项目中:
<receiver android:name=".plugins.video.PluginReceiver" >
<intent-filter>
<action android:name="com.csipsimple.plugins.action.REGISTER_VIDEO" />
</intent-filter>
<meta-data
android:name="lib_name"
android:value="libpj_video_android.so" />
<!-- For now it does not matter in the future we should have one per device, codec, and converter (if needed) -->
<meta-data
android:name="init_factory"
android:value="pjmedia_webrtc_vid_render_factory" />
</receiver>
<!--
Receiver for video capture
<receiver android:name=".plugins.video.CaptureReceiver" >
<intent-filter>
<action android:name="com.csipsimple.plugins.action.REGISTER_CAPTURE_VIDEO" />
</intent-filter>
<meta-data
android:name="lib_name"
android:value="libpj_screen_capture_android.so" />
<meta-data
android:name="init_factory"
android:value="pjmedia_webrtc_vid_capture_factory" …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个自定义Android应用程序,允许用户使用SIP进行VOIP调用.当用户按下按钮时,与另一个SIP用户发起语音呼叫.而已.唯一的其他要求是它必须在2.3+ Android设备上工作,并且不能仅限于wifi.
Android已经包含一个SIP堆栈(从2.3开始),我能够修改Walkie-Talkie示例项目,使其完全符合我的要求.不幸的是我无法将这个应用程序与某些设备一起使用(Casio Commando就是其中之一),更糟糕的是,该应用程序仅适用于wifi(正如我所提到的,对我的项目来说是不可接受的).
我开始使用易于使用的API搜索另一个SIP堆栈,并遇到了CSimpleSip.我编译并运行他们的演示项目(SipHome),它在我不支持的手机(包括Commando)上工作得很好,它也可以在wifi上工作,满足我的要求.我很兴奋......直到我查看了CSipSimple的源代码.我不知道如何开始提取对底层pjsip API的实际调用,也不能让我的pjsip演示应用程序在10个多小时后才能运行.
有没有人解构过CSipSimple并将SIP部分从其极其复杂的用户界面中分离出来,或者有人知道更简单的SIP库吗?使用本机SIP API,我能够进行200行Android活动,使得呼叫完美无缺......如何通过支持非wifi的第三方SIP堆栈来实现这一目标?
感谢您提供任何意见,我知道很多人已经陷入了同一个阶段.
我正在学习在Csipsimple上添加一个SIP联系人列表.我正在寻找如何通过pjsip获取联系人的在线状态.
在org.pjsip.pjsua.pjsipJNI.java中,我读了这些行.我可以使用它们从SIP服务器获取某人的在线状态吗?
public final static native int pjsua_acc_info_online_status_get(long jarg1, pjsua_acc_info jarg1_);
public final static native long pjsua_acc_info_online_status_text_get(long jarg1, pjsua_acc_info jarg1_);
Run Code Online (Sandbox Code Playgroud)
当然,我也在org.pjsip.pjsua.pjsua_acc_info中读过这些行.但我不知道应该怎么用,因为它似乎不适合读取一个联系人的状态.
public int getOnline_status() {
return pjsuaJNI.pjsua_acc_info_online_status_get(swigCPtr, this);
}
public void setOnline_status_text(pj_str_t value) {
pjsuaJNI.pjsua_acc_info_online_status_text_set(swigCPtr, this, pj_str_t.getCPtr(value), value);
}
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗!任何建议都有很大帮助.
我正在尝试为Android构建CSipSimple应用程序.我按照https://code.google.com/p/csipsimple/wiki/HowToBuild中的所有说明操作.我也安装了所有软件包,但是在CSipSimple目录上执行'make'命令时出现以下错误.
Mac-mini:CSipSimple-master sino$ make -no-check-certificate
(make -n -C jni/silk init)
wget --no-check-certificate https://developer.skype.com/silk/SILK_SDK_SRC_v1.0.9.zip; \
unzip -d sources -q SILK_SDK_SRC_v1.0.9.zip; \
rm SILK_SDK_SRC_v1.0.9.zip
# Needed for 1.0.8 // todo test
#@mv sources/SILK_SDK_SRC_v1.0.9/* sources/
# source checkout done
# Init done
(make -n -C jni/opus init)
# old uri : https://git.xiph.org/opus.git
git clone git://git.opus-codec.org/opus.git sources; \
cd sources; \
git fetch --tags; \
git checkout origin; \
git checkout v1.1
# Init done
(make -n -C jni/zrtp4pj init)
git clone …
Run Code Online (Sandbox Code Playgroud) CSipSimple在android棒棒糖上抛出异常.
JNI DETECTED ERROR IN APPLICATION,输入无效修改UTF-8:非法启动字节0x8e
在进行voip呼叫时,我在这里向ISipService发送消息只是为了检查呼叫是进行还是断开连接.我在pjSip.getPtr()中获得此异常,该异常位于pjSipService.java类中.在这里,我粘贴我的错误日志.
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] JNI DETECTED ERROR IN APPLICATION: input is not valid Modified UTF-8: illegal start byte 0x8e
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] string: 'OKp.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p.p'
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] in call to NewStringUTF
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] from java.lang.String org.pjsip.pjsua.pjsuaJNI.pj_str_t_ptr_get(long, org.pjsip.pjsua.pj_str_t)
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] "Thread-1487" prio=5 tid=34 Runnable
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] | group="main" sCount=0 dsCount=0 obj=0x13084400 self=0xafe5fc00
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] | sysTid=11490 nice=0 cgrp=apps sched=0/0 handle=0xafed3a80
12-03 17:26:38.625: A/art(11312): art/runtime/check_jni.cc:65] …
Run Code Online (Sandbox Code Playgroud) csip-simple ×6
android ×5
android-ndk ×1
eclipse ×1
exception ×1
pjsip ×1
sip ×1
ubuntu-12.10 ×1
utf-8 ×1
voip ×1