audiocard
Version:
Opinionated, responsive, audio player compatible with Twitter Cards - Fully RSC compliant
88 lines (67 loc) • 1.91 kB
Markdown
⏯️ AudioCard is an opinionated, responsive, audio player for React, designed to be compatible with [Twitter Player Cards](https://developer.twitter.com/en/docs/tweets/optimize-with-cards/overview/player-card.html).

```bash
npm install audiocard
yarn add audiocard
pnpm add audiocard
```
```jsx
import AudioCard from 'audiocard'
<AudioCard
source="https://example.com/audio.mp3"
title="My Audio Track"
art="https://example.com/artwork.jpg"
duration={180}
width={750}
/>
```
```jsx
import AudioCard from 'audiocard'
<AudioCard
source="https://example.com/audio.mp3"
title="Interactive Audio"
duration={180}
width={750}
autoplay={true}
preload={true}
/>
```
AudioCard is fully compatible with React Server Components and Next.js App Router. The component includes the `'use client'` directive, so it can be imported and used directly in server components without any additional configuration.
```jsx
// This works in a Next.js server component
import AudioCard from 'audiocard'
export default function MyServerComponent() {
return (
<AudioCard
source="https://example.com/audio.mp3"
title="Server Component Audio"
duration={180}
width={750}
/>
)
}
```
See the other options on the [⏯️ AudioCard Storybook](https://erikras.github.io/audiocard/).
The design was heavily influenced by the Twitter card for [Overcast.fm](https://overcast.fm).
```jsx
import AudioCard from 'audiocard'
<AudioCard
art="https://seekjustice.fm/art300.jpg"
source="https://dts.podtrac.com/redirect.mp3/seekjustice.fm/media/001.mp3"
title="Seek Justice Podcast"
duration={180}
currentTime={0}
color="#333"
background="#f5f5f5"
width={600}
/>
```