Wavesurfer.js 工作正常,但react-wavesurfer 有问题

2024-03-28

我在使用 Wavesurfer 的网络项目中遇到了障碍。我已经在我的项目中安装了wavesurfer.js 和react-wavesurfer 作为节点模块。 Wavesurfer.js 似乎工作正常,但 React-wavesurfer 似乎遇到了我发现难以调试的问题。下面的代码:

import React from "react";
import WaveSurfer from "wavesurfer.js"
import ReactWavesurfer from "react-wavesurfer";

class Waveform extends React.Component {
  makeWave() {
    var wavesurfer = WaveSurfer.create({
      container: '#waveform',
      waveColor: 'red',
      progressColor: 'purple'
    });
    wavesurfer.load('path/to/mp3');
  };


  render() {
    this.makeWave();
    return (
      <div>
        <ReactWavesurfer
          audioFile={'path/to/mp3'}
        />
      </div>
    );
  }
}

export default Waveform;

仅产生调用 this.makeWave() 的第一个波形。尝试创建 React 波形时它会返回错误:Uncaught TypeError: this._wavesurfer.init is not a function。我正在使用 browserify 来捆绑我的 javascript 依赖项。

任何帮助将非常感激!


如果您仍然遇到问题,您可以创建自己的波形组件来处理相同的负载。这是一个对我有用的简单例子

1.手动安装wavesurfer.js:

# taken from here: https://wavesurfer-js.org/
npm install --save [email protected] /cdn-cgi/l/email-protection

2. 构建自定义波形组件:

// components/waveform.js
import React from 'react'
import ReactDOM from 'react-dom'
import WaveSurfer from 'wavesurfer.js'

export default class Waveform extends React.Component {
  constructor(props) {
    super(props)
    this.state = {

    }
  }
  componentDidMount() {
    this.$el = ReactDOM.findDOMNode(this)
    this.$waveform = this.$el.querySelector('.wave')
    this.wavesurfer = WaveSurfer.create({
      container: this.$waveform,
      waveColor: 'violet',
      progressColor: 'purple'
    })
    this.wavesurfer.load(this.props.src)
  }
  componentWillUnmount() {

  }
  render() {
    return (
      <div className='waveform'>
        <div className='wave'></div>
      </div>
    )
  }
}

Waveform.defaultProps = {
  src: ""
}

3.然后,在父组件中:

// components/my-parent-component.js
import Waveform from 'path/to/components/Waveform'
...
render() {
  return <div clasName='parent-component'><Waveform src={'/path/to/audio/src.mp3'} /></div>
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Wavesurfer.js 工作正常,但react-wavesurfer 有问题 的相关文章

  • 如何从 JavaScript 触发 ASP.NET Core 客户端验证

    有没有办法从 JavaScript 触发 ASP NET Core 客户端验证 我有一个 Razor Pages 页面 其中包含
  • jQuery 模式窗口从我的表单中删除元素

    jQuery 当我用它创建一个包含表单元素的模式窗口时 当我提交表单时 它会取出这些元素 表格示例
  • javascript - 动态变量

    您好 我正在尝试创建动态变量 但它说 变量 v0 到 v5 未定义 td each function i eval var v i this html 任何帮助将不胜感激 这听起来是个坏主意 你有什么理由不能这样做吗 var tdHtml
  • JavaScript 对象镜像/单向属性同步

    出于安全目的 我需要一个 镜像 对象 也就是说 如果我创建对象 A 并浅克隆 A 的副本并将其称为 B 则每当 A 的属性发生更改时 我希望 B 自动更新自身以反映更改 但反之则不然 换句话说 单向属性同步 我的问题 是否已经存在我不知道的
  • 为什么 foo.hasOwnProperty('__proto__') 等于 false?

    var foo bar 5 Why is foo hasOwnProperty proto 等于false 它不能来自原型链中更高层的任何对象 因为它是特定于这个对象的 EDIT 有些答案说它已开启Object prototype 但我不明
  • 使用 Jquery 更改 css 属性时的事件检测

    有没有办法检测元素的 显示 css 属性是否更改 是否更改为无 块或内联块 如果没有的话有什么插件吗 谢谢 Note 突变事件 https developer mozilla org en US docs Web Guide Events
  • Javascript:打乱数组中的对象组

    我有一个对象数组 我已按键排序 group如下 使得所有具有相同值的对象group在索引中彼此相邻data 例如 var data foo cat group house foo cat group house foo cat group
  • 无法让 CloudKit 进行身份验证(使用 Javascript 和服务器到服务器密钥)

    我正在尝试使用苹果的cloudkit js文件以建立与 CloudKit 的服务器到服务器连接 然而 尽管配置混乱了几个小时 我似乎无法让 CloudKit 认为我的请求有效 我的配置逻辑非常简单 const privateKeyFile
  • 为什么有人将(Apache mod_expires 参数)ExpiresByType 设置为“访问加 0 秒”?

    在审查答案时这个帖子 https stackoverflow com questions 9933012 how to use mod headers and mod expires to cache 我不明白为什么这里使用 0 秒作为最佳
  • 检测 iPad Safari 用户的最佳方法

    添加用于检测 iPad Safari 用户的代码的最佳方法是什么 我的意思是我们应该使用 1 CSS 通过链接媒体 2 JS 通过navigator对象 我听说使用用户代理字符串并不是检测 iPad 的最佳方法 因为存在不一致的情况 请建议
  • Antd 选择搜索框未呈现匹配项

    我有产品数据 我正在使用搜索值过滤数据 然后使用过滤后的数据呈现选项 产品数据作为道具来自全局 redux 存储 由于某种原因 下拉列表仅在搜索值为空时显示数据 当我开始输入时 filteredData已更新 组件也重新渲染 但选项不显示任
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • 什么是闭包编译器?

    如果您不知道我在说什么 请查看以下内容 http closure compiler appspot com home http closure compiler appspot com home 这是一个 JavaScript 压缩器 在他
  • 防止 Bootstrap IE 下拉列表在滚动条单击时关闭

    在 IE 中 单击下拉菜单滚动条时 下拉菜单将关闭 当您使用鼠标滚轮滚动它时 效果很好 这是代码层链接 https www codeply com go Uh8qadr3q2 https www codeply com go Uh8qadr
  • 将罗马数字转换为阿拉伯数字--recursiv

    我是 JavaScript 新手 正在网站的帮助下学习https www jshero net koans roman1 html https www jshero net koans roman1 html 本练习是编写一个转换器 将罗马
  • FB.getLoginStatus() 不起作用

    我正在尝试编写一段代码来检查用户是否登录 发现FBJS API中有一个内置方法 叫做getLoginStatus 我已经在html中实现了它 但出于某种原因 getLoginStatus 内部的alert 不会被触发 我也尝试在 init
  • JSX 中的混合运算符

    我想在 JSX 中使用混合运算符 例如 datas datas map function data i return
  • 让管道自我刷新角度

    我有来自后端的静态时间戳 我想每 1 秒刷新一次管道以获取现在的日期 这是我的烟斗 import Pipe PipeTransform from angular core import moment from moment Pipe nam
  • 将响应式网格布局转换为 Plotly Dash

    我是一个非常活跃的 Dash 用户 我开始发现 Dash 使用中存在很多限制 并且我意识到有关如何将组件转换为 Dash 的信息 内容绝对有限 并且示例过时且非常简单 并且我对 Javascript 或 React 几乎没有任何了解 我完全
  • ESLint 如何集成到 Create React App 中?

    当我跑步时npx create react app some name 为我创建了一个简单的 React 项目 当我随后窥视package json 似乎有一些 ESLint 存在的证据 因为有 eslintConfig extends r

随机推荐

  • 检查javascript是否被禁用?

    如果我有一个使用 javascript 的网站 并且启用了 javascript 用户将获得最完整的网站体验 但即使禁用 javascript 它仍然可以正常运行 有没有办法检查用户是否为他们使用的浏览器禁用了 javascript 这样我
  • 如何在javascript中从大数中计算位?

    我有大量的数字存储在字符串中 let txt 10000000000000041 那么我如何计算二进制格式中呈现的位呢 例如 9的二进制格式是1001 没有1的二进制格式是2 到目前为止我做了什么 const countOne num gt
  • Ember.js REST Ajax 成功和错误

    我想知道是什么success and error在 Ember js RESTAdapter 中做ajax函数 https github com emberjs data blob 761412849a56ad086c44659faafa5
  • text-plain 的内容类型导致浏览器下载文件

    我正在编写一个 Web 应用程序 API 当有人访问 URL 时 它会返回文本数据 我将内容类型设置为 text plain 但是当我使用 Chrome 访问它时 它会下载包含该信息的文件 而不是显示它 当我使用 IE 访问它时 它显示正确
  • Python 递归返回 None

    这真的会很有趣 给出以下python codes def getBinary binaryInput kSize beginBit if int binaryInput beginBit kSize 1 1 print entered sh
  • 由于 dpkg 被中断,无法在 Linux 中安装软件错误 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我试图使用以下命令安装单声道 sudo apt get install mono 不幸的是 我在安装时关闭了终端 我再次开始重新安装 但显
  • MongoDB 从两个数组计算值、排序和限制

    我有一个存储浮点数组的 MongoDB 数据库 假设以下格式的文档集合 id 0 vals 0 8 0 2 0 5 有一个查询数组 例如 带有值 0 1 0 3 0 4 我想计算集合中所有元素的距离 例如 差异之和 对于给定的文档和查询 它
  • 具有匿名访问的 Spring Boot Security 预身份验证场景

    我有一个 Spring Boot 1 5 6 应用程序正在使用 预认证 https docs spring io spring security site docs current reference html preauth html来自
  • this.props.navigation.dispatch 与 this.props.navigation.navigate 之间的区别?

    我在反应导航问题部分看到很多人使用this props navigation dispatch以编程方式导航 是否有任何特定的原因或用例可以使用它this props navigation navigate 看来你可以向调度函数传递更多选项
  • Paypal 定期付款交易错误:11502:令牌无效

    我是贝宝新手 我需要为我的客户实施订阅 定期付款 我正在使用贝宝沙箱来实施 我遵循贝宝坚持创建定期付款资料的方式 从 SetExpressCheckout GetExpressCheckOut 和 DoExpressCheckOut 获得
  • Pyspark:如果列包含来自另一列的字符串(SQL LIKE 语句),则过滤数据框

    我正在尝试按以下方式过滤我的 pyspark 数据框 我有一列包含long text和一列包含数字 如果长文本包含number我想保留这个专栏 我正在尝试使用 SQLLIKE声明 但似乎我无法将其应用到另一列 此处number 我的代码如下
  • 为什么我不能使用“名称”作为变量/对象名称? [复制]

    这个问题在这里已经有答案了 当像这样声明一个对象时 var name firsName nur lastName jaman fullName function return this firsName this lastName cons
  • Akeneo:克隆产品

    我们需要在 Akeneo 1 4 中克隆产品 仅 SKU 应更改 我发现了类似的问题 1 http www akeneo com forums topic easy way to clone product 2 http www akene
  • 当应用程序进入后台时关闭 modalviewcontroller

    当应用程序进入后台时 我需要自动关闭我的 uiimagepicker 模态视图控制器 我尝试将代码放入 viewdiddissappear 方法中的解雇模态视图控制器代码 但它没有被调用 所以我在 appdelegate 中引用了视图控制器
  • 在 Bootstrap 模态中滚动到 DIV

    我有 3 个按钮 它们将触发相同的模式 但需要滚动到不同的部分 我正在努力实现这一目标 请帮忙 a class btn goto section 1 Launch modal a a class btn goto section 2 Lau
  • 如何优化 Express.js 路线?

    我正在开发一个保留区域 其中包含以下几页 dashboard dashboard profile dashboard user dashboard view 这是一个简单的用户控制面板 目前我有四种路线 app all dashboard
  • 复制文件名中带有方括号 [ ] 的文件并使用 * 通配符

    我在 Windows 7 上使用 PowerShell 并编写一个脚本将一堆文件从一个文件夹结构复制到另一个文件夹结构 有点像编译 PowerShellCopy Itemcmdlet 认为方括号 是某种通配符 并且由于某种原因我无法转义它们
  • 超正方错误 - 图像太大

    对于大小为 5 MB 的图像 我从 tesseract 收到以下错误 Tesseract 开源 OCR 引擎 v3 01 与 Leptonica 第0页 图片太大 39667 56133 处理过程中出错 文件大小是否有限制 或者是否有参数可
  • 使用 CSS 渐变时添加图像?

    我正在尝试使用 CSS 渐变以及渐变顶部的图标创建一个按钮 我尝试了两种方法 但都失败了 First btn background webkit gradient linear 0 0 0 89 from 3171CA to 15396F
  • Wavesurfer.js 工作正常,但react-wavesurfer 有问题

    我在使用 Wavesurfer 的网络项目中遇到了障碍 我已经在我的项目中安装了wavesurfer js 和react wavesurfer 作为节点模块 Wavesurfer js 似乎工作正常 但 React wavesurfer 似