2017.03.08

VoIPアプリを作ってみましょう(MumbleKit導入編)


ぜこんにちは。GMOインターネットの次世代システムのJ.Lです。

iOS 10の新しいVoIP機能を使ってみましょう」に続けて、MumbleKitを導入する方法について説明します。

 

mumble_logo

MumbleKitとは

 

Mumble Project

MumbleKit Git Repository

Mumbleはゲームにて音声及びテキストベースでチャット機能を提供するOSSプロジェクトです。特に3D音声チャットに対応しているため、ゲーム内で互いの位置を音声でわかるような機能を実現することも可能です。(対応ゲーム:Battle Fieldシリーズ、Count Strike、Minecraftなど。具体的な一覧はこちら

 

なぜMumbleKit?

一般的にVoIPはSIPもしくはH.323プロトコルを利用して実現しますが、広い意味でIPを利用して音声を伝達すればVoIPって言えますね。SIPなどを利用する目的は外部の電話サービスとの連動することですが、それ以外の場合は特に利用する必要がないため、ここではMumbleKitを利用して実現したいと思います。

 

プロジェクトの準備

まず前回作ったVoIPアプリプロジェクトに追加する形になりますので、ここで説明しない内容は前回のBlogを確認してください。

 

Mumbleサーバーインストール

サーバー環境はUbuntu 16.04です。
  1. サーバーインストール
    • sudo apt-get install mumble-server
  2. サーバー設定
    • sudo dpkg-reconfigure mumble-server
  3. 接続テスト
    • Mumble iOS Appをインストールし、「Favourite Servers」→「+」を選択してください。AddressにはサーバーIPをPortはデフォルトでその他は適当に入力してください。(UsernameとPasswordも特に認証がないため、適当に入れてください。)
MumbleiOSApp_SS

MumbleKit導入

上のMumbleKit Repositoryをプロジェクトの中にcloneします。そして、MumbleKitのSubmoduleをCheckoutします。
$ cd mumblekit
$ git submodule init
$ git submodule update
Xcodeから本体のプロジェクトを開きmumblekitプロジェクトを本体のプロジェクト配下に配置します。

MumbleKit(iOS)をビルド後、生成された「libMumbleKit.a」を本体のLinked Frameworks and Librariesに追加してください。

mumble_lib

MumbleKitテスト

本体をビルドし、成功すると今回は追加されたライブラリをテストします。ここで注意すべきなのはmumblekitがObjective-Cで書かれているため、Briging-Header.hを追加する必要があります。(Frameworkとして作る方法もありますので、興味がある方はググってみてください。)追加されたBriging-Header.hに

#import <MumbleKit/MKVersion.h>

を追加し、本体の方で

print(“Version:\(MKVersion.shared().hexVersion())”)

を追加し、正しく表示されれば導入は成功です。

(2017/3/6現在は66052と表示されます。)

 

まとめ

VoIPアプリのためMumbleKitを導入する方法を紹介しました。MumbleKitはiOS、AndroidのモーバイルはもちろんWindowsやMacなどのDesktop向けにも対応されていますので、音声チャットに興味ある方は是非利用してみてください。

MumbleKitの詳細情報はMumbleKitのドキュメントを参照してください。

次回はMumbleKitを利用し、音声の転送方法などをご紹介します。

 

次世代システム研究室では、アプリケーション開発や設計を行うアーキテクトを募集しています。アプリケーション開発者の方、次世代システム研究室にご興味を持って頂ける方がいらっしゃいましたら、ぜひ 募集職種一覧からご応募をお願いします。