音频扩展

版本下载量

此扩展支持编辑器中使用原生 <audio> 元素,让你可以直接在文档中嵌入音频文件。

安装

npm install @tiptap/extension-audio

设置

addPasteHandler

控制是否添加音频源的粘贴处理器。

默认值:true

Audio.configure({
  addPasteHandler: false,
})

autoplay

控制音频是否自动播放。

默认值:false

Audio.configure({
  autoplay: true,
})

controls

控制音频元素是否显示原生控件。

默认值:true

Audio.configure({
  controls: false,
})

loop

控制音频是否循环播放。

默认值:false

Audio.configure({
  loop: true,
})

muted

控制音频是否静音。

默认值:false

Audio.configure({
  muted: true,
})

preload

音频元素的预加载行为。

默认值:'metadata'

Audio.configure({
  preload: 'none',
})

controlslist

为音频元素提供 controlslist 属性。

默认值:undefined

Audio.configure({
  controlslist: 'nodownload',
})

crossorigin

设置音频元素的 crossorigin 属性。

默认值:undefined

Audio.configure({
  crossorigin: 'anonymous',
})

disableRemotePlayback

控制是否禁用音频元素的远程播放功能。

默认值:false

Audio.configure({
  disableRemotePlayback: true,
})

allowBase64

允许使用 data: URL 作为音频源。

默认值:false

Audio.configure({
  allowBase64: true,
})

HTMLAttributes

自定义添加到渲染的 HTML 标签中的 HTML 属性。

Audio.configure({
  HTMLAttributes: {
    class: 'my-custom-class',
  },
})

inline

控制音频节点是否为内联元素。

默认值:false

Audio.configure({
  inline: true,
})

命令

setAudio(options)

在当前位置插入一个音频元素,使用指定的选项。音频元素默认作为块级节点嵌入,也可配置为内联元素。

editor.commands.setAudio({
  src: 'https://example.com/audio.mp3',
  controls: true,
  autoplay: false,
})

选项说明

选项描述必选默认值
src要嵌入的音频文件 URL-
controls是否显示原生音频控件(播放、暂停、音量等)true
autoplay页面加载时是否自动播放音频false
loop是否循环播放音频false
muted是否静音开始播放音频false
preload音频的预加载方式('auto'、'metadata'、'none' 或 null)'metadata'
controlslist以逗号分隔的需要隐藏的控件列表(例如 'nodownload')undefined
crossorigin音频元素的跨域资源共享设置('anonymous'、'use-credentials' 或空字符串)undefined
disableRemotePlayback是否禁用支持设备上的远程播放功能false
HTMLAttributes应用于音频元素的额外 HTML 属性

源码

packages/extension-audio/