Skip to content

A plug-in for SAO Utils that captures system sounds and outputs visual FFT data

License

Notifications You must be signed in to change notification settings

Mashiro-Sorata/AudioDVServer-Plugin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AudioDVServer-Plugin

Powered By Mashiro_Sorata

目录

  1. 简介
  2. 下载
  3. 安装
  4. 使用说明
  5. 开发接口/API
  6. 更多
  7. License

简介

AudioDVServer-PluginSAO Utils的第三方插件,可以提供系统音频数据的可视化服务。安装启用插件后,仅需用SAO Utils的“桌面网页挂件”打开ADV网页客户端即可显示系统音频频谱。网页客户端可由用户自行编写改变其样式,此插件则为客户端提供数据接口(详见开发接口/API)。下载后的插件压缩包内提供了一个简单的网页客户端演示Demo,用户可自行修改其样式。

视频演示

桌面音频可视化插件演示

开发日志

  • 2020-05-26:V1.2.2版本更新修复了重启插件或切换不可用设备时造成插件出错等问题,对音频捕捉服务增加错误捕获及处理。

  • 2020-05-20:V1.2.1版本更新支持EXP 1实验版的SAO Utils。新增调试版插件下载,可输出日志文件。

  • 2020-05-19:V1.1.0版本的插件在beta 1beta 2(steam)版本的SAO Utils中测试过通过。已知在实验性版本Exp 1中会导致程序崩溃与SAO Utils实验版兼容的插件会在后续中推出,敬请期待。


下载

下载最新版本的插件:Latest Release,将下载的压缩文件解压。

文件夹结构如下
│  readme.txt
│
├─ADVWebClient
│  │  ADVService.js
│  │
│  ├─circle
│  │      index.html
│  │
│  ├─line
│  │      index.html
│  │
│  └─solidcircle
│          index.html
│
└─AudioDVServer
        advConfig.ini
        module64.dll

安装

将解压缩根目录下的AudioDVServer文件夹拷贝至SAO Utils根目录的Plugins文件夹中,重启SAO即可。


使用说明

启用插件

安装完成后打开SAO Utils首选项中的插件管理页面,将名称为AudioDVServer的插件选择启用后点击保存。

插件配置

安装完成后打开SAO Utils首选项中的插件管理页面,将名称为AudioDVServer的插件选择启用后点击保存。

通过更改AudioDVServer文件夹中的advConfig.ini文件来配置插件。当配置数据错误或无配置文件时使用默认值,配置值不区分大小写。

  • ip:可选,默认值为local,指代地址127.0.0.1,可更改为any,指代地址0.0.0.0。只支持any与默认参数local,定义插件提供服务的地址。
  • port:可选,默认值为5050,定义插件提供服务的端口号。
  • maxClient:可选,默认值为5,定义客户端最大连接数。
  • logger:可选,默认值为false,调试版(Debug Version)专有,发行版(Release Version)可设置,但无效。设置为true后可在插件所在目录下输出日志文件ADV_Log.log

advConfig.ini 文件示例:

[Server]
ip = local
port = 5050
maxClient = 4
logger = true

客户端配置

压缩包内提供了三种频谱显示客户端的示例,可用SAO Utils桌面网页挂件打开。通过设置WebClient文件夹内的index.html文件来配置地址,端口号以及显示频谱的样式。必须保证客户端与插件设置的地址与端口号一致。示例文件已配置好,可以直接使用。也可通过编写HTML文件来定义自己的频谱显示客户端。

可以更改index.html中的以下代码来自定义客户端,值得注意的是IPPORT需要与插件的设置"一致":

  • 如果插件配置文件advConfig.ini中的ip = any, 客户端IP可选"local",或者是插件所在主机的的局域网ip地址(如"192.168.1.107")。
  • 如果插件配置文件advConfig.ini中的ip = local, 客户端IP必须为参数"local"

更多样式

更多的客户端样式可在AudioDVClient中下载。

SAO Utils beta版使用注意事项

如果你是SAO Utils beta版用户,请不要频繁刷新网页挂件:与浏览器不同的是,网页挂件刷新后不会立即关闭前一个WebSocket连接,需要等待一段时间后才能释放,而新的连接会被插件计数。所以当频繁刷新次数加上已有的客户端数大于设置的最大客户端连接数时,会造成被刷新的那个客户端无法正常显示。如果出现这种情况,可以通过打开SAO Utils首选项中的插件管理页面重启该插件,或者等待之前的客户端自动断开连接。


开发接口/API

WebClient文件夹内的ADVService.js封装了一个ADV_Plugin类,并提供了一个ondata()接口方便数据的引用。

引用方法:

var IP = "local"; // "192.168.1.107"
var PORT = 5050;
var adv = new ADV_Plugin(IP, PORT);
adv.ondata = function(audioData){ //do something with audioData...};

参数IP可选值有"local",或者是插件所在主机的的局域网ip地址(如"192.168.1.107")。参数"local"会被解析为"localhost"

每当客户端收到插件发送的频谱数据就会触发ondata事件。 其中audioData是数据长度为128的数组,前面64个数据为左声道FFT数据,后面64个数据为右声道FFT数据。每一个声道的FFT数据位从低到高对应频谱频率的由低到高。


更多

我博客的文章和这个README的内容上大致相同,但说明了这个项目的由来与实现,有兴趣的可以看一下。


License

MIT LICENSE

About

A plug-in for SAO Utils that captures system sounds and outputs visual FFT data

Resources

License

Stars

Watchers

Forks

Packages

No packages published