承接 sajed-zarinpour/spotplayer 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

sajed-zarinpour/spotplayer

最新稳定版本:v1.0.1

Composer 安装命令:

composer require sajed-zarinpour/spotplayer

包简介

A wrapper for spotplayer.ir video service (DRM) API.

README 文档

README

Laravel wrapper for spotplayer.ir video service (DRM) API

This package provides an API wrapper for spotplayer.ir website. Spotplayer is a video-sharing website for teachers that provides a way to stream their video on either their website or the Spotplayer application (which is available for Windows, MacOS, Ubuntu, IOS, and Android) that ensures the copyrighting of their content. 

Installation 

Step 1:

Install the package using Composer:

composer require sajed-zarinpour/spotplayer

Step 2:

Publish the config file of the package using the following command

php artisan vendor:publish --provider="SajedZarinpour\SpotPlayer\Providers\SpotPlayerServiceProvider"

Step 3:

Set values in the

config/spotplayer.php

Usage

The package provides both Facade and helper functions. Suppose you want to call a function some_func. Following calls are equivalent:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use SajedZarinpour\Spotplayer\Facades\SpotPlayer;

class SpotPlayerController extends Controller
{
    
    public function play(Request $request)
    {
       ...
       SpotPlayer::some_func();
       ...
    }
}

and

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;


class SpotPlayerController extends Controller
{
    
    public function play(Request $request)
    {
         ...
         spotplayer()->some_func();
         ...
    }
}

Note the import when using the Facade.

Basic Usage

Environement variables

SPOTPLAYER_API=YOURAPIKEY
SPOTPLAYER_MODE=test # OR production
SPOTPLAYER_DOMAIN=localhost # YOUR DOMAIN

Generating a licence

// Setting up a device
$device = spotplayer()->setDevice(
    $numberOfAllowedActiveDevices=2, 
    $Windows=0, 
    $MacOS=0, 
    $Ubuntu=0, 
    $Android=0, 
    $IOS=0, 
    $WebApp=2
);

// Generating a license
$licence = spotplayer()->licence(
    $name='John Doe', 
    $courses=['courseId1','courseId2'], 
    $watermarks='watermark text', 
    $device, 
    $payload='payload'
);

dump('licence id is:' . $licence['_id']);
dump('licence key is:' . $licence['key']);
dump('licence URL is:' . $licence['url']);

die;

Note

To generate cookie X, if you are serving on a localhost machine, make sure you run your Laravel program using:

php artisan serve --host=localhost

Otherwise the cookie won't set. Moreover, make sure Laravel won't encrypt the cookie X by adding

protected $except = ['X'];

to the $except array in Midllware/EncryptCookies.

Testing

The package is using pest for testing. Make sure that you are setting the Pest.php correctly

uses(
    Tests\TestCase::class,
)->in('Feature', '../vendor/sajed-zarinpour/spotplayer/tests');

Moreover, open vendor/sajed-zarinpour/spotplayer/tests/Unit/CourseTest.php and edit the file to use one of your course data.

dataset('provide_getCourseDetail_data', function () {
    return [
        [
            'put your spotplayer course id here!',
        ]
    ];
});

Run the following to run the test

./vendor/bin/pest vendor/sajed-zarinpour/spotplayer/tests/

Example

You can refer to laravel minimal example for a minimal example.

Docs

You can refer to documentation for further information.

统计信息

  • 总下载量: 57
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 4
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 4
  • Watchers: 1
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-02-09