Skip to content

Simplified UI Customization through Layout Manager Configuration #8045

@chafroudtarek

Description

@chafroudtarek

Overview

Propose enhancing Shaka Player's Layout Manager to support comprehensive UI customization through a single, simple configuration object.

Example Implementation

const playerConfig = {
  controlPanelElements: [
    'play_pause',
    'playback_rate',
    'overflow_menu',
    'time_and_duration'
  ],
  showBackward: true,
  showForward: true,
  showTimeText: true,
  showProgressBar: true,
  showQualityControl: true,
  showSpeedControl: true,
  primaryColor: '#00ff00',
  playbackRates: [0.5, 1],
  skipDuration: 10,
  collapseInSettings: ['captions', 'playback_rate', 'quality'],
  seekBarColors: {
    base: 'rgba(255, 255, 255, 0.3)',
    buffered: 'rgba(255, 255, 255, 0.54)',
    played: 'rgb(255, 255, 255)',
    adBreaks: 'rgb(255, 204, 0)'
  }
  // ... and many more options can be added
  // The configuration system is designed to be expandable
  *** For Example ***
  // Future options could include:
  // - Custom themes
  // - Dynamic Controls Positions 
  // - Additional UI elements
  // - Animation settings
  // - And more
};

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions