仅使用没有 wavesurfer 的 Videojs-record 录制音频
Record audio only with Videojs-record without wavesurfer
我在我的 Rails 应用程序中使用 Videojs 和 Videojs-record 来创建消息并从用户浏览器捕获视频和屏幕。
我正在使用 tailwindcss 构建自定义 UI,我正在使用 Stimulusjs 来处理所有按钮点击等
我没有使用 Videojs 播放器中的控件来获取设备,而是有一个按钮可以在我的刺激控制器中调用一个动作。
startCapture() {
let options = {
// video.js options
controls: false,
bigPlayButton: true,
loop: false,
fluid: true,
plugins: {
// videojs-record plugin options
record: {
audio: true,
video: {
width: { min: 640, ideal: 852, max: 1280 },
height: { min: 480, ideal: 480, max: 720 }
}
}
}
}
player = videojs(this.previewMediaTarget, options, () => {
console.log("Videojs-record is ready")
}
}
当我想录制视频和 screen/audio(对选项进行一些更改)时,这非常有用,但我也想让我的用户能够创建音频消息。
当我将播放器的选项更改为
audio: true,
video: false
Videojs-record 自动尝试将 wavesurfer 库与 videojs-wavesurfer 和麦克风插件一起使用。
wavesurfer 库很棒,我不反对使用它,但是 player.record().getDevice()
Videojs-record 方法在使用时不起作用,相反它似乎迫使我单击大按钮启用麦克风。
我尝试找到一种与 player.record().getDevice()
类似的方法来从 wavesurfer.js 和麦克风插件中启用用户麦克风,但我没有找到任何运气。
有没有办法让我 player.record().getDevice()
只获取用户麦克风而无需使用 wavesurfer 插件?或者有没有我没有找到的 videojs-wavesurfer 方法可以让我使用自定义按钮 getDevice
?
谢谢!
我想通了。
首先,没有办法不使用 wavesurfer 和 Videojs-record audio only,但我想出了如何在我的项目中使用它。
我 运行 遇到的问题是我试图设置播放器选项并在激活我的 Stimulus 操作时构建播放器,所以在加载控制器之后。这导致 WaveSurfer.microphone.create() 无法初始化。
我通过将选项移动到刺激 connect()
动作来解决这个问题,这样播放器就会在刺激控制器加载时构建。然后在我的行动中,我调用 player.record().getDevice()
并且一切正常。
我在我的 Rails 应用程序中使用 Videojs 和 Videojs-record 来创建消息并从用户浏览器捕获视频和屏幕。 我正在使用 tailwindcss 构建自定义 UI,我正在使用 Stimulusjs 来处理所有按钮点击等
我没有使用 Videojs 播放器中的控件来获取设备,而是有一个按钮可以在我的刺激控制器中调用一个动作。
startCapture() {
let options = {
// video.js options
controls: false,
bigPlayButton: true,
loop: false,
fluid: true,
plugins: {
// videojs-record plugin options
record: {
audio: true,
video: {
width: { min: 640, ideal: 852, max: 1280 },
height: { min: 480, ideal: 480, max: 720 }
}
}
}
}
player = videojs(this.previewMediaTarget, options, () => {
console.log("Videojs-record is ready")
}
}
当我想录制视频和 screen/audio(对选项进行一些更改)时,这非常有用,但我也想让我的用户能够创建音频消息。
当我将播放器的选项更改为
audio: true,
video: false
Videojs-record 自动尝试将 wavesurfer 库与 videojs-wavesurfer 和麦克风插件一起使用。
wavesurfer 库很棒,我不反对使用它,但是 player.record().getDevice()
Videojs-record 方法在使用时不起作用,相反它似乎迫使我单击大按钮启用麦克风。
我尝试找到一种与 player.record().getDevice()
类似的方法来从 wavesurfer.js 和麦克风插件中启用用户麦克风,但我没有找到任何运气。
有没有办法让我 player.record().getDevice()
只获取用户麦克风而无需使用 wavesurfer 插件?或者有没有我没有找到的 videojs-wavesurfer 方法可以让我使用自定义按钮 getDevice
?
谢谢!
我想通了。
首先,没有办法不使用 wavesurfer 和 Videojs-record audio only,但我想出了如何在我的项目中使用它。
我 运行 遇到的问题是我试图设置播放器选项并在激活我的 Stimulus 操作时构建播放器,所以在加载控制器之后。这导致 WaveSurfer.microphone.create() 无法初始化。
我通过将选项移动到刺激 connect()
动作来解决这个问题,这样播放器就会在刺激控制器加载时构建。然后在我的行动中,我调用 player.record().getDevice()
并且一切正常。