許可を求める
私たちのアプリは、ユーザーのデバイスからオーディオとビデオを使用するため、オーディオとビデオの許可を要求するコードを追加する必要があります。そのために イージー・パーミッション ライブラリでこれを行う。
- プロジェクトにEasyPermissionsライブラリを追加することから始めます。 build.gradle を作成し(app/build.gradleファイル)、dependenciesセクションに以下のコード・スニペットを追加します:
implementation 'pub.devrel:easypermissions:3.0.0'
- あなたの AndroidManifest.xml ファイル内に次のコード・スニペットを追加する。
manifestのタグがある:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
ℹ️ 注: について WAKE_LOCK パーミッションは、ビデオ通話中にデバイスがスリープしないようにするために使用されます。これにより、中断のないメディアストリーミングが保証されます。
- あなたの MainActivity.java という新しいメソッドを追加する。
onRequestPermissionsResult:
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
これはEasyPermissionsライブラリを使用するためのボイラープレートコードです。
重要だ: をクリックして、手動でインポートを追加する必要があります。 イージー・パーミッション (赤文字)をクリックし、MacOSの場合はOption + Enter、Windowsの場合はAlt + Enterキーを押します。このステップはコードを貼り付けるときに必要になることがあります。また、"Add unambiguous imports on the fly "オプション(環境設定|エディター|自動インポート)を有効にして、インポートを自動的に追加することもできます。
- を追加する。
PERMISSIONS_REQUEST_CODEプロパティの先頭にある MainActivity.java ファイル:
private static final int PERMISSIONS_REQUEST_CODE = 124;
- 次に
requestPermissions()メソッドを使用する:
@AfterPermissionGranted(PERMISSIONS_REQUEST_CODE)
private void requestPermissions() {
String[] perms = { Manifest.permission.INTERNET, Manifest.permission.CAMERA, Manifest.permission.RECORD_AUDIO };
if (EasyPermissions.hasPermissions(this, perms)) {
// initialize and connect to the session
} else {
EasyPermissions.requestPermissions(this, "This app needs access to your camera and mic to make video calls", PERMISSIONS_REQUEST_CODE, perms);
}
}
これは、パーミッションがすでに付与されているかどうかをチェックします。もしまだ許可されていなければ、カメラとマイクの許可を求めるために EasyPermissions.requestPermissions メソッドを使用する。
パーミッションが付与されると、このメソッドは @AfterPermissionGranted(PERMISSIONS_REQUEST_CODE) アノテーションを追加します。これからのステップで、セッションオブジェクトとビューオブジェクトを初期化するコードを追加します。
- を加える。
requestPermission();の中のメソッドを呼び出す。onCreate()メソッドを使用する:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
requestPermissions();
}
基本的なビデオチャット
Vonage Video API プラットフォームの基本概念(ビデオ、音声、メッセージングによるユーザ間のコミュニケーション方法など)を学びます。Vonage Video API の基本的なフローを説明します。