現在Unityで下記のようなアプリの制作をしており、1点問題があり困っています。
条件
- Androidアプリ側、WebView上に表示させたWebRTCによるボイスチャット
- ブラウザアプリ側、WebGLによるアプリ画面の表示とWebRTCによるボイスチャット
問題
Unity上でWebViewを配置し、その上でWebRTCを使ったボイスチャットを実装しているのですが、
Unity上のWebViewでマイクデバイスを認識できていないようです。
恐らく、Android5以降で実装されたマイクのパーミッションによる問題かと思います。
※マイクの利用許可を問うダイアログ等も表示されません。
WebViewは下記を利用しています
WebView上にはmediasoupのサンプルを表示しボイスチャットが出来る状態にしようと考えております。
Chrome等のブラウザで対象ページを表示した際には問題なく動作していますが、Unity埋め込みのWebViewでのみマイクによる録音ができません。
試した事
ネットで検索しunity-webviewのソースから下記のように修正しコンパイルした物を組み込んでみたりもしましたが変化はありませんでした。
public void Init(final String gameObject, final boolean transparent, final String ua) { final CWebViewPlugin self = this; final Activity a = UnityPlayer.currentActivity; a.runOnUiThread(new Runnable() {public void run() { ~~~~~中略~~~~~ webView.setWebChromeClient(new WebChromeClient() { + @TargetApi(Build.VERSION_CODES.LOLLIPOP) + @Override + public void onPermissionRequest(final PermissionRequest request) { + request.grant(request.getResources()); + }
バージョン及びターゲット
- Unity 2018.2.6f1
- ターゲットその1:Android 7 以降
- ターゲットその2:ブラウザ(WebGL)
以上となります。
色々検索をしてみましたが、目ぼしい情報が見つからず困っています。
AndroidとWebGLの両方で対応したボイスチャットの実装が見当たらず、上記のような実装方法を取っております。
上記方法以外で良い実装方法でも構いませんので、ご教示いただけますと幸いです。
何卒よろしくお願い申し上げます。
あなたの回答
tips
プレビュー