diff --git a/components/embed.js b/components/embed.js
index b336fc81ea..411f880884 100644
--- a/components/embed.js
+++ b/components/embed.js
@@ -195,7 +195,33 @@ const Embed = memo(function Embed ({ src, provider, id, meta, className, topLeve
)
}
-
+ if (provider === 'audio') {
+ return (
+
diff --git a/components/media-or-link.js b/components/media-or-link.js
index c1fefdf22a..1e6e6054a9 100644
--- a/components/media-or-link.js
+++ b/components/media-or-link.js
@@ -21,9 +21,9 @@ function LinkRaw ({ href, children, src, rel }) {
const Media = memo(function Media ({
src, bestResSrc, srcSet, sizes, width,
- height, onClick, onError, style, className, video
+ height, onClick, onError, style, className, video, audio
}) {
- const [loaded, setLoaded] = useState(!video)
+ const [loaded, setLoaded] = useState(!video && !audio)
const ref = useRef(null)
const handleLoadedMedia = () => {
@@ -45,29 +45,40 @@ const Media = memo(function Media ({
className={classNames(className, styles.mediaContainer, { [styles.loaded]: loaded })}
style={style}
>
- {video
- ?
- :

}
+ : video
+ ?
+ :

}
)
})
@@ -101,7 +112,7 @@ export default function MediaOrLink ({ linkFallback = true, ...props }) {
if (!media.src) return null
if (!error) {
- if (media.image || media.video) {
+ if (media.image || media.video || media.audio) {
return (