我希望通过像微信应用程序这样的Android 应用程序用户开发语音和视频通话.我怎么能这样做?我在谷歌搜索过,但我没有得到任何确切的参考或样本.任何人都可以解释并提供一些示例源和参考来执行此功能吗?我对SIP和VOIP几乎没有什么困惑,我将用它来支持Android 2.2版到更高版本的应用程序?
我需要在Android上创建一个SIP堆栈,它将与asterix一起使用,并为用户提供更改编解码器的可能性(我需要实现G729和其他一些编解码器).我是这个领域的新手(语音和编解码器),每一点信息都会受到赞赏.在我通过互联网进行的研究中,我发现了以下SIP堆栈:
您建议将什么用于商业计划?或者你可以推荐其他一些?对于我的特殊情况,它必须支持G729编解码器.
我正在研究SIP应用程序并使用Linphone库我在设置库来运行项目时有点困惑.
第1步:
首先,我使用新的Android SDK pkg在我的Mac上下载了NDK.然后给了我的NDK文件夹的PATHADT -> Preferences -> Android -> NDK
第2步: 然后我使用此链接安装了Autotools (仅根据以下命令编写:2.3如何安装Autotools(作为用户)?)ndk_build
第3步: 之后我使用终端下载linphone-android使用 -
git clone git://git.linphone.org/linphone-android.git --recursive
Run Code Online (Sandbox Code Playgroud)
现在我想按照以下步骤操作: 步骤4: 使用终端上的命令转到下载项目的根目录:
$ cd /home/my_downloaded_project_path/linphone-android
然后第5步:
$ ./prepare_sources.sh /home/android-ndk-r7b/ndk_build
Run Code Online (Sandbox Code Playgroud)
我想那时构建就准备好了.
第6步: 在eclipse中导入linphone-android项目,然后运行该项目.
现在我正在做第5步:我收到错误
-bash: ./prepare_sources.sh: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我搜索了我的整个Mac,但我找不到这个文件(那么它将如何运行呢?)
任何人都可以告诉我我错过了什么或做错了什么.我的步骤是否正确(如果你的步骤中有任何修改,请告诉我)
我尝试的另一种方法是:
从这里下载Linphone Lib for Android 复制./prepare_sources.sh文件并粘贴到我使用terminal命令下载代码的目录中,如上面步骤3所述.现在运行此命令
./prepare_sources.sh /home/android-ndk-r7b/ndk_build
Run Code Online (Sandbox Code Playgroud)
它在终端上工作但最后它向我展示了这些消息:
.
.
.
er.bat
inflating: SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_ARM_v1.0.9/test_vectors/test_encoder.sh
cp ./patch_pic.diff SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_ARM_v1.0.9
cd SILK_SDK_SRC_v1.0.9/SILK_SDK_SRC_ARM_v1.0.9 && /usr/bin/patch -p0 < patch_pic.diff
patching …Run Code Online (Sandbox Code Playgroud) 我已将Android SIP演示加载到Android Studio中。我在getonsip.com上注册了一个帐户,将其添加到我的手机帐户中,并通过从getonsip.com网络应用程序以及从一部Android手机到另一部Android手机拨打电话来验证它是否可以正常使用。到目前为止一切都很好。
我稍微修改了演示中的Java代码以适应getonsip设置:
SipProfile.Builder builder = new SipProfile.Builder(username, domain);
builder.setOutboundProxy(proxy);
builder.setPassword(password);
builder.setAuthUserName(auth);
builder.setAutoRegistration(true);
builder.setPort(5060);
builder.setProtocol("UDP");
sipProfile = builder.build();
Run Code Online (Sandbox Code Playgroud)
然后,将其部署到我的手机(Galaxy S4,Android 4.4.2 API 19)。但是,当我尝试这样给自己打电话时:
sipCall = sipManager.makeAudioCall(sipProfile.getUriString(), sipAddress, listener, 30);
Run Code Online (Sandbox Code Playgroud)
我总是得到相同的错误:
05-14 11:43:13.476 5061-5080/android.SipDemo W/System.err? android.net.sip.SipException: Failed to create SipSession; network unavailable?
Run Code Online (Sandbox Code Playgroud)
StackOverflow和互联网上的其他帖子对我没有帮助。我尝试在呼叫,重新启动电话以及将目标SIP地址更改为包括sip:<address>@getonsip.com和之前添加5秒的延迟sip:<address>@getonsip.com:5060,但始终是相同的错误消息。
有人知道如何解决这个问题吗?
我使用原生sip apis在Android应用程序中实现sip调用,它工作正常,但在一些设备,如CANVAS 3,它没有工作.调试后我发现这行代码返回NULL
**manager = SipManager.newInstance(ctx);**
Run Code Online (Sandbox Code Playgroud)
这measns该设备不支持SIP Apis.But在同一设备的其他应用sipcalling像SipDroid等正在properly.How这是可能的吗?难道他们不使用本地SIP蜜蜂???