Skip to main content

Quick Start

info

As of 2023, Samsung states that Tizen TV's are not optimized for .NET applications. Samsung strongly recommends using JS/Web applications instead of C#/.NET applications for TVs. Please check the Lura Player Web SDK

Introduction

Lura Player .NET SDK enables DASH and MP4 video playback in Tizen .NET applications. It has a user-friendly interface, developer-friendly SDK and includes industry standard capabilities, making it a comprehensive solution for video streaming and advertising. The SDK is written in C#, a programming language that provides a strict type system and code stability, making it easier to integrate into .NET-based projects. Lura Player offers advanced advertisement support and a range of features for a seamless viewing experience, including support for multiple subtitle tracks and advanced playback controls.

This section describes all the mandatory steps to integrate Lura .NET SDK into your application to create a basic application. Lura Player support Tizen 6.5 and later versions, and requires the Tizen .NET workload to be installed.

.NET SDK Setup

Lura Player .NET SDK requires the .NET 6 SDK and the Samsung Tizen .NET workload.

1. Install the .NET 6 SDK

Download and install the .NET 6 SDK. Use only 6.0.0 version: https://dotnet.microsoft.com/download/dotnet/6.0

Verify the SDK is available on your PATH:

dotnet --info
dotnet --list-sdks

2. Install the Tizen .NET workload

Follow Samsung's official guide: https://github.com/Samsung/Tizen.NET/wiki/Installing-Tizen-.NET-Workload

If you're setting up via CLI, these are the commands from that guide:

macOS / Linux
curl -sSL https://raw.githubusercontent.com/Samsung/Tizen.NET/main/workload/scripts/workload-install.sh | sudo bash
Windows (PowerShell)
Invoke-WebRequest 'https://raw.githubusercontent.com/Samsung/Tizen.NET/main/workload/scripts/workload-install.ps1' -OutFile 'workload-install.ps1'
.\workload-install.ps1

Verify the workload is installed:

dotnet workload list

You should see tizen in the installed workload list.

Akta MCP Package Download

Next step is to download the Lura NuGet package from Akta MCP and add it to your local machine.

1. Download the NuGet package from Akta MCP

Download the .nupkg file(s) to a local directory (for example ~/nuget/akta).

2. Add the local NuGet source

dotnet nuget add source <path-to-your-local-nuget-directory> --name "Akta MCP Local"
dotnet nuget list source

3. Install the package in your project

dotnet add package LuraPlayer --version <VERSION>

Player Control UI

LuraPlayer provides a default UI package that can be used to control the player. You can download the LuraPlayerUI UI package from the Akta MCP as well add it to your project. You can also download source code from Github and use and customize it to create your own custom UI.

1. Download the UI package from Akta MCP Download the UI .nupkg file(s) from the Akta MCP and save them to a local directory (for example ~/nuget/akta).

2. Install the package in your project

dotnet add package LuraPlayerUI --version <VERSION>

3. Customize the UI You can use the default UI package as it is or you can customize it to fit your needs. You can find the source code of the default UI package on Github:

Repo: Akta-Tech/LuraPlayerTizenDotnetUI

4. Custom UI Installation

In development, you can reference the project directly in your solution. For production, you can build the project and reference the generated .dll file in your project. In your .csproj file, add the following reference:

In development,

Custom UI Reference
<ProjectReference Include="path/to/your/UI/project" />

In production, Don't forget to add the generated .tpk file to your local NuGet source and reference it as a package:

Custom UI Reference
<PackageReference Include="YourUIPackage" Version="YourVersion" />
Player.cs
//create a player instance and add it to the window
var player = new Player(Tizen.NUI.Window.Instance);
var playerControlUI = new PlayerControlUI(Tizen.NUI.Window.Instance, player, SynchronizationContext.Current);

var config = new Lura.Unified.Configuration();
config.Lura = new LuraConfiguration
{
AppKey = video.LuraAppKey,
AssetId = video.AssetId
};
await player.SetConfig(config);
player.Play();