2016-06-16 15 views
1

私はapprtc.appspot.comに接続するWebViewをラップする簡単なAndroidアプリを開発しました。 WebRTCセッションが正常に確立され、ビデオストリームがアプリケーションとピア(MacのChromeブラウザ)に表示され、アプリケーションで音声が聞こえるが、Macは音声を受信しない。 MacのChromeブラウザのchrome:// webrtc-internalsにエラーは表示されません。 AndroidデバイスのChromeからMacのChromeへのWebRTCingは、音声で正常に動作します。また、オーディオを正常にキャプチャして再生したMediaRecorderとMediaPlayerを使用するためのテストアクティビティをアプリに書きました。WebRTCに音声がありません。AndroidアプリのWebView

私の許可設定ルックスは

<uses-permission android:name="android.permission.RECORD_AUDIO" /> 
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.CAMERA" /> 
<uses-feature android:name="android.hardware.audio.low_latency" /> 
<uses-feature android:name="android.hardware.audio.pro" /> 
<uses-feature android:name="android.hardware.microphone" android:required="true"/> 
<uses-feature android:name="android.hardware.camera.autofocus" /> 
<uses-feature android:name="android.hardware.camera" android:required="true" /> 
<uses-feature android:name="android.hardware.camera.front" android:required="true" /> 

のようなアプリのコードは

int permission; 

    permission = ContextCompat.checkSelfPermission(this, Manifest.permission.RECORD_AUDIO); 
    if (permission != PackageManager.PERMISSION_GRANTED) { 

     // Should we show an explanation? 
     if (ActivityCompat.shouldShowRequestPermissionRationale(this, 
       Manifest.permission.RECORD_AUDIO)) { 
      // Show an expanation to the user *asynchronously* -- don't block 
     } else { 
      ActivityCompat.requestPermissions(this, 
        new String[]{Manifest.permission.RECORD_AUDIO}, 
        MY_PERMISSIONS_REQUEST_AUDIO); 
     } 
    } 
    // ... similar camera permission request ... 

    WebView webView = (WebView) findViewById(R.id.web_view); 
    WebSettings settings = webView.getSettings(); 
    settings.setJavaScriptEnabled(true); 
    settings.setDomStorageEnabled(true); 
    settings.setDatabaseEnabled(true); 
    webView.setWebChromeClient(new WebChromeClient() { 
     @Override 
     public void onPermissionRequest(PermissionRequest request) { 
      request.grant(request.getResources()); 
     } 
    }); 
    webView.loadUrl("https://appr.tc/r/my-room"); 

何がうまくいかないように見えますか?

答えて

3

許可に<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />を追加すると、私の問題が解決しました。

関連する問題