tomcorbett/opentok-laravel

OpenTok PHP SDK 的 Laravel 扩展包

v1.1.2 2017-03-08 03:38 UTC

This package is not auto-updated.

Last update: 2024-09-21 09:45:35 UTC


README

这是一个用于 OpenTok SDK 的 Laravel 5 包装库。OpenTok 是由 TokBox 提供的产品,它利用 WebRTC 技术实现点对点视频、音频和消息通信。请注意:此存储库与 TokBox 无任何关联。

对于 Laravel 4,请使用 1.0 分支

安装

要获取 OpenTok Laravel 的最新版本,只需使用 Composer 依赖项目

$ composer require tomcorbett/opentok-laravel

当然,您也可以手动更新您的 require 块并运行 composer update,如果您愿意的话

{
	    "require": {
			        "tomcorbett/opentok-laravel": "dev-master"
						    }
}

一旦安装了 OpenTok Laravel,您需要注册服务提供者。打开 config/app.php 文件,并将以下内容添加到 providers 键中。

  • Tomcorbett\OpentokLaravel\ServiceProvider::class

如果您喜欢,可以在 config/app.php 文件的 aliases 键中注册 OpentokApi 门面。

  • 'OpentokApi' => Tomcorbett\OpentokLaravel\Facades\OpentokApi::class

配置

默认值在 `config/cors.php' 中设置。将此文件复制到您的配置目录中以修改值。您可以使用以下命令发布配置

php artisan vendor:publish --provider="Tomcorbett\OpentokLaravel\ServiceProvider"

从您的 OpenTok 账户获取 api_key 和 api_secret,并在配置文件中的占位符处替换它们。

在深入之前...

尽管直接深入其中非常有吸引力,但为了避免挫折,我强烈建议您先查看 OpenTok 简介,并在网站上点击浏览并阅读他们的文档。我的文档 非常糟糕,仅旨在使 Laravel 开发者更容易使用,并且绝对不是 OpenTok 文档(非常好的文档)的替代品。

了解一般的流程、使用的技术以及定义(例如,会话、发布者、订阅者、令牌等)绝对是个好主意。

一般用法

首先,您需要创建一个会话,以便订阅者和/或发布者有所关联。

// new session
$session    = OpentokApi::createSession();            
$sessionId  = $session->getSessionId();

// check if it's been created or not (could have failed)
if (empty($sessionId)) {
    throw new \Exception("An open tok session could not be created");
}

现在我们需要为发布者创建一个令牌,以便他们实际上可以发布。请注意,您需要在客户端使用 API 密钥在 JS 中使用,如下所示:(在您的 JS 文件或模板中避免了硬编码)

// use the necessary files
use Tomcorbett\OpentokLaravel\Facades\OpentokApi;
use OpenTok\Role;
use OpenTokException;

// get your API key from config
$api_key = Config::get('opentok.api_key');
        
// then create a token (session created in previous step)
try {
    // note we're create a publisher token here, for subscriber tokens we would specify.. yep 'subscriber' instead
    $token = OpentokApi::generateToken($sessionId,
        array(
            'role' => Role::PUBLISHER
        )
    );
} catch(OpenTokException $e) {
    // do something here for failure
}

// pass these to your view where you're broadcasting from as you'll need them...
return View::make('your/view')
    ->with('session_id', $sessionId)
    ->with('api_key', $api_key)
    ->with('token', $token)

有关视频/音频/消息的 JS/HTML 等. 发布,请参阅 OpenTok 快速入门指南文档,并浏览他们的如何操作示例等。它们相当不错!

希望您会发现这个库很有用,如果这样,请随时告诉我,并且请随时提出任何评论、问题或改进建议!