• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Linphone4Android: LinPhone是一个网络电话或者IP语音电话(VOIP),是一款遵循GPL的 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

Linphone4Android

开源软件地址:

https://gitee.com/liushuai94/Linphone4Android

开源软件介绍:

Linphone4Android

LinPhone是一个网络电话或者IP语音电话(VOIP),是一款遵循GPL的开源的网络视频电话系统,其主要如下:使用linphone,我们可以在互联网上随意的通信,通过语音、视频、即时文本消息。linphone使用SIP协议,是一个标准的开源网络电话系统,你能将linphone与任何基于SIP的VoIP运营商连接起来,包括我们自己开发的免费的基于SIP的Audio/Video服务器。LinPhone是一款自由软件(或者开源软件),你可以随意的下载和在LinPhone的基础上二次开发。LinPhone是可用于桌面电脑:Linux, Windows, MacOSX 以及移动设备:Android, iPhone, Blackberry.

接口

可以将项目作为一个Library,进行二次开发,根据业务需求来修改源码。

登录

// 开启线程登录ServiceWaitThread mThread = new ServiceWaitThread();mThread.start();private void syncAccount(String username, String password, String domain) {    LinphonePreferences mPrefs = LinphonePreferences.instance();    if (mPrefs.isFirstLaunch()) {        mPrefs.setAutomaticallyAcceptVideoRequests(true);//            mPrefs.setInitiateVideoCall(true);        mPrefs.enableVideo(true);    }    int nbAccounts = mPrefs.getAccountCount();    if (nbAccounts > 0) {        String nbUsername = mPrefs.getAccountUsername(0);        if (nbUsername != null && !nbUsername.equals(username)) {            mPrefs.deleteAccount(0);            saveNewAccount(username, password, domain);        }    } else {        saveNewAccount(username, password, domain);        mPrefs.firstLaunchSuccessful();    }}private void saveNewAccount(String username, String password, String domain) {    LinphonePreferences.AccountBuilder builder = new LinphonePreferences.AccountBuilder(LinphoneManager.getLc())            .setUsername(username)            .setDomain(domain)            .setPassword(password)            .setDisplayName(Const.LINPHONE_NAME)            .setTransport(LinphoneAddress.TransportType.LinphoneTransportTcp);    try {        builder.saveNewAccount();    } catch (LinphoneCoreException e) {        Log.e(e);    }}private class ServiceWaitThread extends Thread {    public void run() {        while (!LinphoneService.isReady()) {            try {                sleep(30);            } catch (InterruptedException e) {                throw new RuntimeException("waiting thread sleep() has been interrupted");            }        }        handler.post(new Runnable() {            @Override            public void run() {                syncAccount(Const.LINPHONE_ACCOUNT, Const.LINPHONE_PWD, Const.HOST);            }        });        mThread = null;    }}

呼出

private void callOutgoing(String number) {    try {        if (!LinphoneManager.getInstance().acceptCallIfIncomingPending()) {            String to = String.format("sip:%s@%s", number, Const.HOST);            LinphoneManager.getInstance().newOutgoingCall(to, displayName);            startActivity(new Intent()                    .setClass(this, LinphoneActivity.class)                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));        }    } catch (LinphoneCoreException e) {        LinphoneManager.getInstance().terminateCall();    }}

注:该项目只提供登录、呼出两个接口,可以会涉及到修改源码部分来适应,望开发者自己去扩展。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap