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.
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
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.
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.
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/
You can refer to laravel minimal example for a minimal example.
You can refer to documentation for further information.