0

我正在编写一个代码,它将获取光标的位置并输出声音信号。但这里有个问题:后台已经播放了一个 sin 函数,鼠标点击只会改变这个声音的 x 和 y 值。到目前为止,这是我想出的:

clear all
clc
k = 1:1200;
 k = k/5000;

 x=1;
 y=1;

while i<10;
    [x,y]=ginput(1)

 vib= 0.5*sin(2*pi*y*k);
 note=sin(pi*x*k*440);
 ses = note+vib;
 sound (ses);
 end

如您所见,我的代码只是播放一个 sin 函数,但它是离散的。有人可以帮帮我吗?我研究了句柄和回调,但我就是想不通。我在网上找到的解释太复杂了,我无法理解。

4

1 回答 1

1

声音(ses);只需使用变量“ses”并播放。在播放时,您不能以您认为的方式干扰数据。您可以观察下一个 sound() 函数调用的变化。如果您想连续播放波形,可以查看此处:

Matlab:如何使用回调获取单击时的当前鼠标位置

于 2013-03-28T06:16:41.360 回答