从 SoundCloud 的 Waveform.js 库获得更好的质量

2023-12-20

目前我正在使用 Waveform.js (http://waveformjs.org http://waveformjs.org)从 SoundCloud 轨道生成波形。

不幸的是生成的canvas图像质量非常低(尤其是在视网膜上):

我想创建与 Soundcloud 非常相似的 Waveform:

您知道如何提高图像质量吗?也许有更好的解决方案来生成此类波形?

我的应用程序完全是客户端的,一切都在浏览器中完成,所以对我来说完美的场景是:

  1. Send waveform_url到可以生成的库canvas/svg/etc.
  2. 或者从以下位置获取数据waveform_url我自己并把它送到图书馆。
  3. 同步 HTML5 也很棒Audio元素与生成的波形一起播放。

我将不胜感激任何意见和建议。谢谢!


我没有看过这个库的代码。但总体原则上

//if canvas context is:
var context = canvas.getContext('2d');

//then the device ratio can be calculated using:
var     devicePixelRatio = window.devicePixelRatio || 1,
        backingStoreRatio = context.webkitBackingStorePixelRatio ||
                            context.mozBackingStorePixelRatio ||
                            context.msBackingStorePixelRatio ||
                            context.oBackingStorePixelRatio ||
                            context.backingStorePixelRatio || 1,

        ratio = devicePixelRatio / backingStoreRatio;

//now you can scale your canvas and for retina display I think it will be 2 and 2

context.scale(ratio, ratio)

阅读库代码并查看在哪里可以添加此比率支持。希望这可以帮助。

这也是参考/样本 http://blog.tripleaxis.com/optimising-html5-canvas-elements-for-retina-screens/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 SoundCloud 的 Waveform.js 库获得更好的质量 的相关文章

随机推荐

  • 如何获取未保存的脚本选项卡

    我想知道是否可以在 R studio 中获取未保存的脚本选项卡 我不小心打开并切换到新项目 然后我未保存的脚本消失了 任何人都可以帮助获取我未保存的脚本选项卡 如果您使用的是 Windows 请转到文件夹 C Users your user
  • 使用 DBIx::Class::ResultSet 的 find_or_create 方法时如何避免竞争条件?

    从文档中find or create http search cpan org arodland DBIx Class 0 08196 lib DBIx Class ResultSet pm find or create 注意 因为find
  • 检查图像是否彩色

    我想弄清楚图像是否是彩色的 在this https stackoverflow com questions 2150504 how can i check the color depth of a bitmapStackOverflow问题
  • Flexbox/IE11:flex-wrap:换行不换行(里面有图像+ Codepen)

    我创建了一个包含社交图标的列表 这些图标应该在小屏幕上环绕 I use flex wrap wrap 它在 Firefox 和 Chrome 中完美运行 但 Internet Explorer 11 和 IE 10 不会打破界限 Codep
  • Spring Data JPA:通过示例进行查询?

    使用 Spring Data JPA 我可以做举例查询 http docs jboss org hibernate orm 4 3 manual en US html ch17 html querycriteria examples其中特定
  • Varnish/Apache 随机 503 错误

    我在托管大约 30 个网站的 Rackspace 云服务器上运行 cPanel 我正在使用 Varnish 3 0 3 Apache 2 2 23 我收到随机 503 错误 如果我重新启动 httpd 进程 它们就会消失 我检查了 Apac
  • 当选择为 textView 和 editText 添加边框形状时,

    我想创建一个边框形状TextView and EditText 并在出现时显示view is selected 就像这个picture 您应该使用可绘制选择器来实现您的 UI 首先创建一个background edit text defau
  • Sidekiq 列出所有作业 [已排队 + 正在运行]

    有没有办法获取当前在队列中并正在运行的所有作业的列表 基本上 我想知道给定班级的工作是否已经存在 我不想插入我的其他工作 我见过其他选择 但我想这样做 我可以看到here https github com mperham sidekiq w
  • 获取两个 json 对象的差异

    场景 我想要一个比较两个 JSON 对象的函数 并返回一个包含差异列表的 JSON 对象 如果可能的话还返回更多数据 例如覆盖率指标 var madrid type team description Good trophies ucl 10
  • Android sdk 剪切/修剪视频文件

    有没有办法在android上剪切视频 mp4或3gp 比如只使用电影的最后5秒 在iphone上可以使用AVAssetExportSession 但在android上我还没有找到类似的东西 也许对 ffmpeg 库的一些引用看起来很复杂 有
  • 错误找不到模块“umask”

    我刚刚安装节点 x64在我的 Windows 10 计算机上 我保留所有默认配置 我打开cmd并输入 npm v 然后我得到以下错误 module js 457 throw err Error Cannot find module umas
  • 无法从 Java 中的 JDateChooser 检索日期

    我在用JDateChooser from here http www toedter com en jcalendar api index html 但是我无法检索使用该方法设置的格式的日期setDateFormatString在控制台中显
  • 无论如何,要防止快速单击时 Chrome 中的元素蓝色突出显示?

    大多数时候我并不担心它 但我有一个图像轮播 如果我快速单击下一个和上一个 div 它们将在 Chrome 中突出显示 我尝试使用大纲 无但没有效果 有什么解决方案吗 对于 Android 上的 Chrome 您可以使用 webkit tap
  • 如何使用 Mapview 设置布局

    我已经创建了我在其中使用 MapView 的应用程序 现在我想在我的 MapView 中使用后退按钮 我已经开发了布局 但在地图视图上看不到按钮 当我从模拟器中按下后退按钮时 地图视图将关闭并显示后退按钮 任何朋友都可以帮我如何在 MapV
  • 在 PrestaShop 中更新 theme.yml

    所以我试图修改 PrestaShop 主题中 theme yml 的布局 我注释掉以下内容 hooks modules to hook displayFooter ps linklist ps customeraccountlinks ps
  • 有没有办法以编程方式更新框架(Swift)

    是否可以像在界面生成器中那样以编程方式更新框架 我的一些对象由于动画而错位 我猜无论如何我都想修复它 但它让我想起了前面提到的问题 编辑 我已经做了一些谷歌搜索以及在 stackoverflow 上查找 但没有找到我要找的东西 我想将一些按
  • 全局默认超时是多少

    Python 3 4 尝试查找 urllib request urlopen 中的默认超时是多少 它的签名是 urllib request urlopen url data None 超时 cafile None capath None c
  • Django 1.5b1:执行 django-admin.py 导致“没有名为设置的模块”错误

    我最近安装了 Django 1 5b1 我的系统配置 OSX 10 8 Python 2 7 1 虚拟环境 1 7 2 当我打电话时django admin py命令我收到以下错误 devel ninja Django 1 5b1 djan
  • IntelliJ Structural Search 用于查找实现 A 但未实现 B 的类

    我正在尝试使用 IntelliJ 10 5 的 结构搜索 功能来查找实现接口的类 A但不实现另一个接口 B 首先搜索实现的类A 然后将搜索范围限制为 以前的搜索结果 很容易将其减少为仅搜索未实现的类B 这在概念上非常简单 不幸的是 我还没有
  • 从 SoundCloud 的 Waveform.js 库获得更好的质量

    目前我正在使用 Waveform js http waveformjs org http waveformjs org 从 SoundCloud 轨道生成波形 不幸的是生成的canvas图像质量非常低 尤其是在视网膜上 我想创建与 Soun