conferenciacorp/ bigbluebutton-api-php
PHP 的 BigBlueButton API 库
dev-master
2017-09-06 11:42 UTC
Requires
- php: >=5.4
- ext-curl: *
Requires (Dev)
- composer/composer: 1.0.*@dev
- friendsofphp/php-cs-fixer: ~1.10
- fzaninotto/faker: ~1.5.0
- phpunit/phpunit: 4.1.*
- satooshi/php-coveralls: 1.*
- squizlabs/php_codesniffer: 2.*
This package is auto-updated.
Last update: 2024-09-29 04:03:24 UTC
README
此项目是从 bigbluebutton-api-php 分支出来的
PHP 的 BigBlueButton API
要求
- PHP 5.4 或更高版本。
- 已安装 Curl 库。
BigBlueButton PHP API 也经过测试,可以与 HHVM 一起工作,并且完全兼容 PHP 7.1。
安装
bigbluebutton-api-php 可以通过 Composer CLI 安装
composer require conferenciacorp/bigbluebutton-api-php
使用
您应该在您的服务器上定义环境变量 BBB_SECURITY_SALT
和 BBB_SERVER_BASE_URL
。*如果您使用 Laravel,可以在 .env 文件中添加它。
之后,您将能够调用您服务器的 BigBlueButton API。创建会议的简单用法示例如下
use BigBlueButton/BigBlueButton;
$bbb = new BigBlueButton();
$createMeetingParams = new CreateMeetingParameters('bbb-meeting-uid-65', 'BigBlueButton API Meeting');
$response = $bbb->createMeeting($createMeetingParams);
echo "Created Meeting with ID: " . $response->getMeetingId();
示例
获取会议
use BigBlueButton\BigBlueButton;
$bbb = new BigBlueButton();
$response = $bbb->getMeetings();
if ($response->getReturnCode() == 'SUCCESS') {
foreach ($response->getRawXml()->meetings->meeting as $meeting) {
// process all meeting
}
}
创建会议
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\CreateMeetingParameters;
$bbb = new BigBlueButton();
$createMeetingParams = new CreateMeetingParameters($meetingID, $meetingName);
$createMeetingParams->setAttendeePassword($attendee_password);
$createMeetingParams->setModeratorPassword($moderator_password);
$createMeetingParams->setDuration($duration);
$createMeetingParams->setLogoutUrl($urlLogout);
if ($isRecordingTrue) {
$createMeetingParams->setRecord(true);
$createMeetingParams->setAllowStartStopRecording(true);
$createMeetingParams->setAutoStartRecording(true);
}
$response = $bbb->createMeeting($createMeetingParams);
if ($response->getReturnCode() == 'FAILED') {
return 'Can\'t create room! please contact our administrator.';
} else {
// process after room created
}
加入会议
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\JoinMeetingParameters;
$bbb = new BigBlueButton();
$joinMeetingParams = new JoinMeetingParameters($meetingID, $name, $password); // $moderator_password for moderator
$joinMeetingParams->setRedirect(true);
$url = $bbb->getJoinMeetingURL($joinMeetingParams);
// header('Location:' . $url);
关闭会议
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\EndMeetingParameters;
$bbb = new BigBlueButton();
$endMeetingParams = new EndMeetingParameters($meetingID, $moderator_password);
$response = $bbb->endMeeting($endMeetingParams);
获取会议信息
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\GetMeetingInfoParameters;
$bbb = new BigBlueButton();
$getMeetingInfoParams = new GetMeetingInfoParameters($meetingID, '', $moderator_password);
$response = $bbb->getMeetingInfo($getMeetingInfoParams);
if ($response->getReturnCode() == 'FAILED') {
// meeting not found or already closed
} else {
// process $response->getRawXml();
}
获取录音
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\GetRecordingsParameters;
$recordingParams = new GetRecordingsParameters();
$bbb = new BigBlueButton();
$response = $bbb->getRecordings($recordingParams);
if ($response->getReturnCode() == 'SUCCESS') {
foreach ($response->getRawXml()->recordings->recording as $recording) {
// process all recording
}
}
请注意,BigBlueButton 需要几分钟的时间来处理录音,直到它可用。
您可以在 bbb-record --watch
中检查
删除录音
use BigBlueButton\BigBlueButton;
use BigBlueButton\Parameters\DeleteRecordingsParameters;
$bbb = new BigBlueButton();
$deleteRecordingsParams= new DeleteRecordingsParameters($recordingID); // get from "Get Recordings"
$response = $bbb->deleteRecordings($deleteRecordingsParams);
if ($response->getReturnCode() == 'SUCCESS') {
// recording deleted
} else {
// something wrong
}
提交错误和功能请求
错误和功能请求在 GitHub 上跟踪
贡献指南
代码风格
确保通过运行 PHPCS-Fixer 应用代码风格配置。
./vendor/bin/php-cs-fixer fix
运行测试
对于每个实现的功能,添加单元测试,并运行以下命令检查所有测试都为绿色。
./vendor/bin/phpunit