如何使用 agora.io 动态创建频道

Posted

技术标签:

【中文标题】如何使用 agora.io 动态创建频道【英文标题】:How do I dynamically create channel using agora.io 【发布时间】:2021-02-15 15:11:10 【问题描述】:

我正在 wordpress 中为网络研讨会和课程建立一个多供应商网站,并且我正在使用 Dokan 插件。我想将会议用作我的供应商的产品...

所以这就是我的想法: 当 user[a] 在 mywebsite.com 上注册一个帐户时,agora.io API 会使用来自 user[a] 帐户的用户名创建一个频道,然后生成一个包含(appid、token、频道)相关信息的响应.

当用户[a] 登录 mywebsite.com 时,他们的 agora.io API(appid、token、channel)相关信息会自动填充:

var appID = 'user[a]app1D';
var Token = 'user[a]t0k3n';
var channel = 'user[a]channel';

非常感谢您的帮助。

【问题讨论】:

【参考方案1】:

我建议您查看Agora Video for Wordpress plugin 并使用QuickStart Guide 确保其设置正确。

Wordpress 插件的 Agora Video 不会以上述方式自动创建频道,但您可以轻松地将该功能添加到您的 WordPress 实例中。

当用户创建帐户时,您会想要创建一个新的 Agora 频道,这将提供频道 ID。然后使用 Agora 短代码创建一个页面并传递频道 ID。

【讨论】:

【参考方案2】:

Nico,我也遇到了同样的问题,请找到解决方案。 AGORA 频道和其他频道一样是帖子。

您需要:

    使用 post_type: agora_channel 创建帖子 更新 AGORA 所需的所有 post_meta

我已经解决了这个问题:

$id = wp_insert_post(array(
        'post_title'=>'Channel of' . $user->display_name, 
        'post_type'=>'agora_channel', 
        'post_content' => ''
    ));

    if(!is_wp_error($id))

        update_post_meta($id, 'channel_appearance_settings', array(
            'external-rtmpServerURL' => '',
            'external-streamKey' => '',
            'external-width' => 640,
            'external-height' => 360,
            'external-videoBitrate' => 400,
            'external-videoFramerate' => 15,
            'external-videoGop' => 30,
            'external-lowLatency' => false,
            'external-audiosampleRate' => 48000,
            'external-audioBitrate' => 48,
            'external-audioChannels' => 1,
            'external-videoCodecProfile' => 100,
            'external-backgroundColor' => '#efefef',
            'inject-width' => 640,
            'inject-height' => 360,
            'inject-videoBitrate' => 400,
            'inject-videoFramerate' => 15,
            'inject-videoGop' => 30,
            'inject-lowLatency' => false,
            'inject-audioSampleRate' => 48000,
            'inject-audioBitrate' => 48,
            'inject-audioChannels' => 1,
            'inject-videoCodecProfile' => 100,
            'inject-backgroundColor' => '#efefef',
            )
        );

        update_post_meta($id, 'channel_appearance_settings', array(
            'splashImageURL' => "",
            'noHostImageURL' => '',
            'watchButtonText' => '',
            'watchButtonIcon' => false,
            'activeButtonColor' => '#343a40',
            'disabledButtonColor' => '#dc3545',
        ));
        
        update_post_meta($id, 'channel_type','broadcast');
        

        update_post_meta($id, 'channel_appearance_settings', array(
            'splashImageURL' => '',
            'noHostImageURL' => '',
            'watchButtonText' => '',
            'watchButtonIcon' => true,
            'activeButtonColor' => '#fdb911',
            'disabledButtonColor' => '#bfbfbf'
            )
        );
        update_post_meta($id, 'channel_user_host', $user->ID);
    

【讨论】:

以上是关于如何使用 agora.io 动态创建频道的主要内容,如果未能解决你的问题,请参考以下文章

Agora.io 视频聊天创建活动

如何使用 agora.io Unity SDK 检索频道用户列表

如何获得频道中所有用户的“静音”状态? [agora.io]

无法使用 Agora.io 和 Unity Standalone 加入频道(警告代码:104)

在 C# 上生成 Agora.io 动态密钥 [关闭]

Agora.io 音频正常但视频不传输