facebook twitter hatena line email

Unity/Agora/voicechat community/デモ通話

提供: 初心者エンジニアの簡易メモ
移動: 案内検索

デモから音声通話サンプル作成

VoiceScene.unityを追加して、VoiceScene.csを作成して、VoiceScene.unityのMainCameraへ追加

using UnityEngine;

public class VoiceScene : MonoBehaviour
{
    void Start()
    {
#if !UNITY_EDITOR && UNITY_WEBGL
        string AppID = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        TestHelloUnityVideo app = null;
        // create app if nonexistent
        if (ReferenceEquals(app, null))
        {
            app = new TestHelloUnityVideo(); // create app
            app.loadEngine(AppID); // load engine
        }
        string ChannelName = "testchannel";
        bool enableVideo = false;
        bool muted = false;
        app.join(ChannelName, enableVideo, muted);
#endif
    }
}

Assets/AgoraEngine/Demo/AudioVideoState.csのフラグを追加

public class AudioVideoStates
{
    public bool subAudio = true;
    public bool subVideo = false;
    public bool pubAudio = true;
    public bool pubVideo = false;
}
  1. Assets/AgoraEngine/Demo/TestHelloUnityVideo.csのjoin()内の、SetupInitState();を削除
  2. AssetsAgoraEngine/Prefabs/AgoraEventHandlerを、ロードSceneに追加しておく。

切断処理

public void Disconnect()
{
    if (!ReferenceEquals(app, null))
    {
        app.leave(); // leave channel
        app.unloadEngine(); // delete engine
        app = null; // delete app
    }
}

ビルド後html表示時に"NullReferenceException"エラーとなる場合

エラー詳細

webgl_project_audio.framework.js:3 NullReferenceException: Object reference not set to an instance of an object.

Assets/AgoraEngine/Demo/TestHelloUnityVideo.csのjoin()内の、SetupInitState();を削除

AgoraTemplate2020が適用されない

  • Assets/WebGLTemplates/AgoraTemplate2020があるか確認する。
  • PCを再起動する

"Client already in connecting/connected state"エラーが出る時

詳細

AgoraRTCException: AgoraRTCError INVALID_OPERATION: [client-fa598] Client already in connecting/connected state

joinを2回やってたりするとでるので、joinフラグか何かをもたせて、2度処理などしないように。