在图形,MATLAB上与移动线同步播放音频文件

时间:2014-04-15 08:24:50

标签: matlab audio plot

我正在尝试播放音频文件以及图表上的移动线....

[signal,Fs]=wavread('sig_c.wav');
time=(0:length(signal)-1)/Fs;
figure(1);
plot(time,signal)
grid on;
end_time=length(signal)/Fs;
h=line([0,0],[-0.30 0.30],'Color','r','Marker','o','LineWidth',3);
sound(signal,fs);
tic
t=toc;
while t<end_time
set(h,'xdata',t*[1 1]);
drawnow;
t=toc;
end

首先播放音频文件,然后在图形上移动线条。但上面的结果不是必需的。我们需要与图形上的移动线同步播放音频文件..

怎么做

你的帮助将受到极大的赞赏......

1 个答案:

答案 0 :(得分:1)

您可以使用audioplayer进行播放而不是声音。所以

player = audioplayer(signal, Fs);

Player是audioplayer对象(请参阅audioplayer上的MATLAB帮助),您可以使用

play(player);

声音播放时,您可以随心所欲。例如,有一个CurrentSample属性可以显示此刻播放的样本。你可以得到它

c_sample = get(player,'CurrentSample');

并将其用于绘图目的。