我正在尝试播放音频文件以及在图表上移动线。
[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
它先播放音频文件,然后再移动图表上的线。但是不需要上面的结果。我们需要与图表上的移动线同步播放音频文件。
怎么做
您的帮助将不胜感激......
最佳答案
您可以使用音频播放器代替声音进行播放。所以
player = audioplayer(signal, Fs);
播放器是可以使用的音频播放器对象(请在音频播放器上查看MATLAB帮助)
play(player);
在播放声音时,您可以做任何您想做的事。例如,有一个CurrentSample属性,它向您显示当前播放的样本。你可以的
c_sample = get(player,'CurrentSample');
并将其用于绘图目的。
关于matlab - 与图上的移动线同步播放音频文件,MATLAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23078243/