如何使用 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 Unity SDK 检索频道用户列表
如何获得频道中所有用户的“静音”状态? [agora.io]