0.1.0 • Published 2 years ago

@internetarchive/radio-player v0.1.0

Weekly downloads
85
License
AGPL-3.0-only
Repository
-
Last release
2 years ago

\

A Radio Player that displays closed captioning and allows searching.

Radio Player

Installation

yarn add @internetarchive/radio-player

Usage

// radio-player.js
import RadioPlayer from '@internetarchive/radio-player';
export default RadioPlayer;
<!-- index.html -->
<script type="module">
  import './radio-player.js';
</script>

<style>
  radio-player {
    line-height: 1.5rem;
    color: white;

    --timeColor: white;
    --timeColumnWidth: 3rem;
    --transcriptHeight: 200px;

    --autoScrollButtonFontColor: black;
    --autoScrollButtonBackgroundColor: white;

    --normalTextColor: gray;
    --activeTextColor: white;
    --searchResultInactiveBorderColor: gray;
    --searchResultActiveBorderColor: green;

    --trackColor: black;
    --trackBorder: 1px solid white;
  }
</style>

<radio-player></radio-player>

<script>
  // Configure the radio player

  const radioPlayer = document.querySelector('radio-player');

  radioPlayer.addEventListener('searchRequested', e => {
    console.log('Search requested', e.detail.searchTerm);
  });

  radioPlayer.addEventListener('searchCleared', e => {
    console.log('Search cleared');
  });

  radioPlayer.addEventListener('playbackPaused', e => {
    console.log('Playback paused');
  });

  radioPlayer.addEventListener('playbackStarted', e => {
    console.log('Playback started');
  });

  radioPlayer.addEventListener('currentTimeChanged', e => {
    console.log('Current time changed', e.detail.currentTime);
  });

  radioPlayer.addEventListener('timeChangedFromScrub', e => {
    console.log('New time', e.detail.newTime);
  });

  radioPlayer.addEventListener('transcriptEntrySelected', e => {
    console.log('New time', e.detail.newTime);
  });

  radioPlayer.addEventListener('canplay', e => {
    console.log('Media can play');
  });

  const quickSearchTerms = [];

  const audioSource = new AudioSource(
    'https://ia803005.us.archive.org/30/items/BBC_Radio_2_20190502_180000/BBC_Radio_2_20190502_180000.mp3',
    'audio/mpeg',
  );

  const radioConfig = new RadioPlayerConfig(
    'Voice of America',
    '7:00pm',
    './logo.jpg',
    './waveform.png',
    [audioSource],
    quickSearchTerms,
  );

  const transcriptEntries: TranscriptEntryConfig[] = [...];

  const transcriptConfig = new TranscriptConfig(transcriptEntries);

  radioPlayer.config = radioConfig;
  radioPlayer.transcriptConfig = transcriptConfig
</script>

Development

Prerequisite

yarn install

Start Development Server

yarn start  // start development server and typescript compiler

Testing

yarn test

Testing via browserstack

yarn test:bs

Demoing using storybook

yarn storybook

Linting

yarn lint
0.0.4-alpha.1

2 years ago

0.1.0

2 years ago

0.0.3-a1

3 years ago

0.0.3-a2

3 years ago

0.0.3-a3

3 years ago

0.0.3-a4

3 years ago

0.0.3

3 years ago

0.0.2

4 years ago

0.0.2-alpha.2

4 years ago

0.0.2-alpha.1

4 years ago

0.0.1

5 years ago

0.0.1-alpha.540

5 years ago

0.0.1-alpha.528

5 years ago

0.0.1-alpha.529

5 years ago

0.0.1-alpha.525

5 years ago

0.0.1-alpha.523

5 years ago

0.0.1-alpha.521

5 years ago

0.0.1-alpha.547

5 years ago

0.0.1-alpha.539

5 years ago

0.0.1-alpha.538

5 years ago

0.0.1-alpha.533

5 years ago

0.0.1-alpha.527

5 years ago

0.0.1-alpha.526

5 years ago

0.0.1-alpha.520

5 years ago

0.0.1-alpha.519

5 years ago

0.0.1-alpha.518

5 years ago

0.0.1-alpha.504

5 years ago

0.0.1-alpha.509

5 years ago

0.0.1-alpha.507

5 years ago

0.0.1-alpha.508

5 years ago

0.0.1-alpha.510

5 years ago

0.0.1-alpha.505

5 years ago

0.0.1-alpha.534

5 years ago

0.0.1-alpha.532

5 years ago

0.0.1-alpha.531

5 years ago

0.0.1-alpha.524

5 years ago

0.0.1-alpha.522

5 years ago

0.0.1-alpha.497

5 years ago

0.0.1-alpha.398

6 years ago

0.0.1-alpha.396

6 years ago

0.0.1-alpha.395

6 years ago

0.0.1-alpha.393

6 years ago

0.0.1-alpha.445

6 years ago

0.0.1-alpha.448

6 years ago

0.0.1-alpha.446

6 years ago

0.0.1-alpha.443

6 years ago

0.0.1-alpha.435

6 years ago

0.0.1-alpha.432

6 years ago

0.0.1-alpha.425

6 years ago

0.0.1-alpha.424

6 years ago

0.0.1-alpha.423

6 years ago

0.0.1-alpha.422

6 years ago

0.0.1-alpha.421

6 years ago

0.0.1-alpha.420

6 years ago

0.0.1-alpha.419

6 years ago

0.0.1-alpha.416

6 years ago

0.0.1-alpha.414

6 years ago

0.0.1-alpha.408

6 years ago

0.0.1-alpha.402

6 years ago

0.0.1-alpha.401

6 years ago

0.0.1-alpha.400

6 years ago

0.0.1-alpha.397

6 years ago

0.0.1-alpha.394

6 years ago

0.0.1-alpha.392

6 years ago

0.0.1-alpha.391

6 years ago

0.0.1-alpha.389

6 years ago

0.0.1-alpha.388

6 years ago