> ## Documentation Index
> Fetch the complete documentation index at: https://docs.beyondwords.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Player introduction

Use the BeyondWords player to deliver audio and video across your websites and apps—automatically on pages where you use [Magic Embed](/docs-and-guides/integrations/magic-embed), the [WordPress](/docs-and-guides/integrations/publishing-platforms/wordpress) plugin, or [Ghost](/docs-and-guides/integrations/publishing-platforms/ghost) integration, or manually wherever you install the SDK. See the [distribution overview](/docs-and-guides/distribution/distribution-overview) for all distribution options.

If you need full control over the interface, you can also [build your own player UI](/docs-and-guides/distribution/player/developer-guides/build-your-own-ui) using the player SDKs.

## Player features

### Playback experience

* **Continuous playback**: Automatically play your most recent audio or video content after the current item ends, without interruption
* **Skipping**: Let users skip forwards or backwards by time or paragraph
* **Downloads**: Allow users to download audio or video for offline listening or viewing

### Read-and-listen features

* **Paragraph and word highlighting**: Highlight the paragraph and/or word currently being read aloud to create an immersive read-and-listen experience
* **Sticky player widget**: Keep the player accessible as users scroll down the page
* **Playback from paragraphs**: Let users click or tap any paragraph to begin playback from that point

### Customization and integration

* **Customizable UI**: Adapt the player UI to match your branding, colors, layout, and user experience, or build your own interface in headless mode
* **Intro and outro**: Automatically append intros and outros to generated content
* **Paywall integration**: Deliver different player experiences depending on subscription or access level

### Performance and accessibility

* **Accessible playback**: WCAG 2 compliant with full keyboard support
* **Fast loading and streaming**: Use dynamic loading and HLS streaming for fast playback without slowing down page performance
* **Responsive design**: Automatically adapts to different screen sizes and devices

### Analytics and monetization

* **Analytics**: Track engagement through the BeyondWords analytics dashboard or analytics integrations
* **Ads**: Deliver direct or programmatic ads as pre-roll, mid-roll, or post-roll placements

<Tip>
  You can also embed playlists using the [BeyondWords playlist player](/docs-and-guides/distribution/playlists).
</Tip>

## Installation

If you use the Magic Embed, WordPress plugin, or Ghost plugin, player installation is automatically handled for you.

For custom integrations, install the player using one of the following methods:

<CardGroup cols={2}>
  <Card title="JavaScript SDK" icon="code" href="/docs-and-guides/distribution/player/installation/javascript-sdk">
    Embed the player directly into your website using JavaScript or NPM.
  </Card>

  <Card title="Player API" icon="brackets-curly" href="/docs-and-guides/distribution/player/developer-guides/player-api">
    Programmatically control playback, metadata, events, and player behavior.
  </Card>

  <Card title="iOS SDK" icon="apple" href="/docs-and-guides/distribution/player/installation/ios-sdk">
    Integrate the BeyondWords player into iOS apps.
  </Card>

  <Card title="Android SDK" icon="android" href="/docs-and-guides/distribution/player/installation/android-sdk">
    Integrate the BeyondWords player into Android apps.
  </Card>

  <Card title="Player settings" icon="sliders" href="/docs-and-guides/distribution/player/player-settings">
    Configure playback behavior, UI options, highlighting, and more.
  </Card>

  <Card title="Access tiers" icon="lock" href="/docs-and-guides/distribution/player/access-tiers">
    Deliver different playback experiences based on subscription or access level.
  </Card>
</CardGroup>

## Build your own player UI

If you want full control over the playback experience, you can build a custom player UI using the BeyondWords player SDKs. See the [build your own UI guide](/docs-and-guides/distribution/player/developer-guides/build-your-own-ui) for examples.

The SDKs handle playback, streaming, playlists, analytics events, and content delivery, while your application controls the interface and user experience.

This approach is useful if you want to:

* Create a fully custom audio or video experience
* Match an existing design system
* Build unique playback controls or layouts
* Integrate playback deeply into your app experience

For most use cases, the standard BeyondWords player is the fastest way to launch and already includes advanced features such as highlighting, playlists, sticky playback, analytics, and ads.

## FAQs

<AccordionGroup>
  <Accordion title="What order does audio play in?">
    Main content always plays. Optional segments—intro, ads, and outro—are inserted in this order when configured:

    1. Intro (optional)
    2. Pre-roll ad (optional)
    3. Main content (first half)
    4. Mid-roll ad (optional)
    5. Main content (second half)
    6. Post-roll ad (optional)
    7. Outro (optional)

    Any segment that isn't configured is skipped. For example, if you have no intro, ads, or outro, playback goes straight to the main content.
  </Accordion>

  <Accordion title="Does the player install automatically with my CMS?">
    Yes—if you use [Magic Embed](/docs-and-guides/integrations/magic-embed), the [WordPress](/docs-and-guides/integrations/publishing-platforms/wordpress) plugin, or the [Ghost](/docs-and-guides/integrations/publishing-platforms/ghost) integration. For other platforms, install the player using one of the SDK guides in the [Installation](#installation) section above.
  </Accordion>

  <Accordion title="Can I customize the player without code?">
    Yes. Go to **Distribution → Player → Settings** in your project dashboard to configure size, colors, highlighting, continuous playback, and more. See [player settings](/docs-and-guides/distribution/player/player-settings).
  </Accordion>
</AccordionGroup>
