facebook twitter hatena line email

「Unity/Agora/voicechat community/インストール」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(sdkはどれを使っている)
(agoraインストール)
行12: 行12:
 
#Unityメインメニュー/File/BuildSettings/PlayerSetttings/SceneInBuildのSceneHomeとSceneHellowVideoに、チェックを追加
 
#Unityメインメニュー/File/BuildSettings/PlayerSetttings/SceneInBuildのSceneHomeとSceneHellowVideoに、チェックを追加
 
#WebGLでビルドすると、htmlがブラウザで開くのでJoinを確認
 
#WebGLでビルドすると、htmlがブラウザで開くのでJoinを確認
 +
 +
===ビルド時にhtmlソースが出る場合===
 +
Unityメインメニュー/File/BuildSettings/PlayerSetttings/WebGL/WebGLTemplateをAgoraTemplete2020
  
 
===agoraSdkCWrapperなエラーが出る場合===
 
===agoraSdkCWrapperなエラーが出る場合===
行17: 行20:
 
  DllNotFoundException: agoraSdkCWrapper assembly:<unknown assembly> type:<unknown type> member:(null)
 
  DllNotFoundException: agoraSdkCWrapper assembly:<unknown assembly> type:<unknown type> member:(null)
 
UnityEditorで表示するとこのエラーが出る。WebGLでビルドしてブラウザで表示すると良い。
 
UnityEditorで表示するとこのエラーが出る。WebGLでビルドしてブラウザで表示すると良い。
 +
 
==デモ版ソース解析==
 
==デモ版ソース解析==
 
*AgoraEngine/Demo/ButtonHandler.csに、ボタンの挙動が、記述されてる
 
*AgoraEngine/Demo/ButtonHandler.csに、ボタンの挙動が、記述されてる

2023年1月13日 (金) 19:08時点における版

agoraコミュニティ側

sdkはどれを使っている

unitysdkではなく、websdkを使ってる。以下に格納されてる。

Assets/WebGLTemplates/AgoraTemplate2020/AgoraWebSDK

agoraインストール

  1. https://github.com/AgoraIO-Community/Agora_Unity_WebGL をDL
  2. Assets/AgoraEngine/Demo/SceneHomeを開く
  3. GameControllerのInspectorを開きAppIDを入力する
  4. Unityメインメニュー/File/BuildSettings/PlayerSetttings/WebGL/WebGLTemplateをAgoraTemplete2020
  5. Unityメインメニュー/File/BuildSettings/PlayerSetttings/SceneInBuildのSceneHomeとSceneHellowVideoに、チェックを追加
  6. WebGLでビルドすると、htmlがブラウザで開くのでJoinを確認

ビルド時にhtmlソースが出る場合

Unityメインメニュー/File/BuildSettings/PlayerSetttings/WebGL/WebGLTemplateをAgoraTemplete2020

agoraSdkCWrapperなエラーが出る場合

詳細

DllNotFoundException: agoraSdkCWrapper assembly:<unknown assembly> type:<unknown type> member:(null)

UnityEditorで表示するとこのエラーが出る。WebGLでビルドしてブラウザで表示すると良い。

デモ版ソース解析

  • AgoraEngine/Demo/ButtonHandler.csに、ボタンの挙動が、記述されてる
  • AgoraEngine/Demo/TestHome.csが、テストロジック処理が、記述されてる
  • TestHome.onJoinButtonClickedが、動画音声処理
  • TestHome.onJoinAudienceが、配信受け取る(Audience)処理
  • TestHome.onJoinAudienceが通信周りロジック
  • AssetsAgoraEngine/Prefabs/AgoraEventHandlerを、ロードSceneに追加しておく。
  • Hostボタンのオンオフ処理は、Assets/AgoraEngine/Demo/TestHome.onJoinAudience.csのGameObject.Find("RoleButton")とAssets/API-Example/tools/ToggleStateButton.csあたり。Audience表示されてる時Broadcastされ、Host表示のときに、Audienceとなっている様子。
  • AgoraEngine/Demo/TestHelloUnityVideo.csが通信ロジック周りの処理が、記述されてる

動画音声オンオフ

  • AgoraEngine/Demo/TestHelloUnityVideo.csの以下部分
AudioVideoState.pubAudio = av.togglePubAudio.isOn;
AudioVideoState.pubVideo = av.togglePubVideo.isOn;
AudioVideoState.subAudio = av.toggleSubAudio.isOn;
AudioVideoState.subVideo = av.toggleSubVideo.isOn;

音声オフだと

こちらの処理になる。

gameController.onJoinButtonClicked(false);

Android時の権限追加

#if (UNITY_2018_3_OR_NEWER && UNITY_ANDROID)
	ArrayList permissionList = new ArrayList();
	permissionList.Add(Permission.Microphone);         
	permissionList.Add(Permission.Camera);   
        foreach(string permission in permissionList)
        {
            if (!Permission.HasUserAuthorizedPermission(permission))
            {                 
				Permission.RequestUserPermission(permission);
			}
        }
#endif

ビルド時の"Pointer_stringify"のエラー表示

以下エラーが出るが、動作に問題ない。

The JavaScript function 'Pointer_stringify(ptrToSomeCString)' is obsoleted and will be removed in a future Unity version. Please call 'UTF8ToString(ptrToSomeCString)' instead.
printErr @ webgl_project_audio.loader.js:1