sanduhrs / php-bigbluebutton
0.11.0
2020-09-16 09:50 UTC
Requires
- php: ^5.6 || ^7.0
- ext-dom: *
- ext-json: *
- ext-mbstring: *
- ext-simplexml: *
- guzzlehttp/guzzle: ^6.2
- ramsey/uuid: ^3.4
Requires (Dev)
- phpunit/phpunit: ^5.4
README
BigBlueButton 是一个开源的在线学习网络会议系统。 – http://www.bigbluebutton.org
这是一个用于与 BigBlueButton 服务器实例交互的 PHP 库。
支持的 PHP-FIG 建议
- PSR-1: 基本编码规范
http://www.php-fig.org/psr/psr-1/ - PSR-2: 编码风格指南
http://www.php-fig.org/psr/psr-2/ - PSR-4: 改进的自动加载
http://www.php-fig.org/psr/psr-4/
安装
此包与 Composer 兼容。 在您的系统上安装 Composer 以使用它。 运行
composer require sanduhrs/php-bigbluebutton
配置
要获取您的 API URL,请登录到 BigBlueButton 服务器并运行
$ bbb-conf --secret
URL: http://example.org/bigbluebutton/
Secret: aiShaiteih6nahchie1quaiyul8ce4Zu
使用方法
初始化 BigBlueButton 对象
<?php
require_once 'vendor/autoload.php';
use sanduhrs\BigBlueButton;
$url = 'http://example.org/bigbluebutton/';
$secret = 'aiShaiteih6nahchie1quaiyul8ce4Zu';
$endpoint = 'api/';
// Initialize a BigBlueButton object.
$bbb = new BigBlueButton($url, $secret, $endpoint);
获取远程服务器的版本
$version = $bbb->server->getVersion();
添加会议
$meeting = $bbb->server->addMeeting([
'id' => '123-456-789-000',
'attendeePW' => 'Guphei4i',
'moderatorPW' => 'ioy9Xep9',
'name' => 'A BigBlueButton meeting',
'welcome' => 'Welcome to %%CONFNAME%%.',
'logoutURL' => 'https://example.org/',
'record' => true,
'autoStartRecording' => true,
'meta' => [
'bbb-recording-ready-url' => urlencode('https://example.com/api/v1/recording_status'),
'presenter' => 'John Smith',
],
//any other parameters from [BBB API Documentation](https://docs.bigbluebutton.org/dev/api.html#create)
]);
添加带有预上传幻灯片的会议
$meeting = [
'id' => '123-456-789-001',
'name' => 'A BigBlueButton meeting with custom slides',
];
$meeting['slides'][] = new Document(
'https://example.org/slide.png',
'slide.png',
);
$meeting = $bbb->server->addMeeting($meeting);
获取主持人加入会议的 URL
$full_name = 'Martin Moderator';
$url = $meeting->join($full_name, true);
获取与会者加入会议的 URL
$full_name = 'Anton Attendee';
$url = $meeting->join($full_name);
完整使用示例
使用 Composer 初始化您的项目
composer init
安装此包及其依赖项
composer require sanduhrs/php-bigbluebutton
将其复制到名为 'index.php' 的文件中,调整 '$url' 和 '$secret' 变量,然后尝试设置
<?php
require_once 'vendor/autoload.php';
use sanduhrs\BigBlueButton;
$url = 'http://example.org/bigbluebutton/';
$secret = 'aiShaiteih6nahchie1quaiyul8ce4Zu';
$endpoint = 'api/';
// Initialize a BigBlueButton object.
$bbb = new BigBlueButton($url, $secret, $endpoint);
// Get the version of the remote server.
$version = $bbb->server->getVersion();
print "$version<br />\n";
// Add a meeting.
$meeting = $bbb->server->addMeeting([
'id' => '123-456-789-000',
'attendeePW' => 'Guphei4i',
'moderatorPW' => 'ioy9Xep9',
'name' => 'A BigBlueButton meeting',
'welcome' => 'Welcome to %%CONFNAME%%.',
'logoutURL' => 'https://example.org/',
'record' => true,
'autoStartRecording' => true,
'meta' => [
'bn-recording-ready-url' => urlencode('https://example.com/api/v1/recording_status'),
'presenter' => 'John Smith',
],
//any other parameters from [BBB API Documentation](https://docs.bigbluebutton.org/dev/api.html#create)
]);
print '<pre>' . print_r($meeting, true) . "</pre>\n\n";
// Get meeting join URL for a moderator.
$full_name = 'Martin Moderator';
$url = $meeting->join($full_name, true);
print "Hi $full_name, you are a moderator. Please join the call via $url<br />\n\n";
// Get meeting join URL for an attendee:
$full_name = 'Anton Attendee';
$url = $meeting->join($full_name);
print "Hi $full_name, you are an attendee. Please join the call via $url<br />\n\n";
Bigbluebutton 密钥和 URI 发现
bbb-conf --secret
测试
export BBB_URI=http://example.org/bigbluebutton/
export BBB_SECRET=aiShaiteih6nahchieq1quaiyul8ce4Zu
export BBB_ENDPOINT=api/
./vendor/bin/phpunit
许可
GNU 通用公共许可证第 3 版及以后版本