本页目录

onMusic2RgbChange(callback: (data: MusicRgbCallbackData) => void, musicOption?: MusicRgbOption)

版本要求:
@ray-js/panel-sdk≥1.7.0

描述

开启音乐律动监听,将麦克风音频实时转换为 HSV 颜色数据

参数

参数类型必填说明
callback(data: MusicRgbCallbackData) => void是音频 RGB 变化回调,接收色调/饱和度/明度等音乐律动数据
否律动配置(可选)

返回值

类型:Promise<unknown>
操作结果 Promise

引用对象

typeMusicRgbCallbackDataonMusic2RgbChange 回调参数类型
属性类型必填描述
modenumber是颜色渐变模式:0 跳变,1 渐变
huenumber是色调,范围 0–360
saturationnumber是饱和度,范围 0–1000
valuenumber是明度,范围 0–1000
brightnumber是亮度,范围 0–1000
temperaturenumber是色温,范围 0–1000
dbnumber是分贝值,v1.13.2+ 支持
indexnumber是灵敏度索引,v1.13.2+ 支持
是自定义属性透传,v1.13.2+ 支持

合法值

MusicRgbOption.mode
值说明最低版本
0--
1--

示例代码

基础用法

import { kit } from '@ray-js/panel-sdk';
const { onMusic2RgbChange } = kit.music2rgb;

onMusic2RgbChange(({ hue, saturation, value }) => {
  publishDps({ colour_data: { hue, saturation, value } });
});

自定义颜色列表

import { kit } from '@ray-js/panel-sdk';
const { onMusic2RgbChange } = kit.music2rgb;

onMusic2RgbChange(
  ({ hue, saturation, value }) => {
    publishDps({ colour_data: { hue, saturation, value } });
  },
  {
    mode: 1,
    colorList: [
      { hue: 0, saturation: 1000, value: 1000 },
      { hue: 120, saturation: 1000, value: 1000 },
      { hue: 240, saturation: 1000, value: 1000 },
    ],
    dBRange: [30, 70],
    throttle: 200,
  }
);

注意事项

  • 问题1: 如何判断音乐律动的响应状态?
  • 方案:可先缓存之前5次(约数,可自行调整)的返回值,如果5次都相同,则认为音乐律动响应状态不变,那么将状态改为不响应,否则认为音乐律动响应。