2
我使用的是使用下面的子功能代碼:MATLAB:有audioplayer()繼續功能後發揮結束
function playTone (duration, toneFreq)
% Generate a tone
samplesPerSecond = 44100; % the bit rate of the tone
y = sin(linspace(0, duration * toneFreq * 2 * pi, round(duration * samplesPerSecond))); % the equation of the sound wave
player = audioplayer(y, samplesPerSecond); % create an audio object from the sound wave at the specified bit rate
playblocking(player) % play the audio, blocking control until the sound completes
這個函數被調用,例如,具有以下:
playTone(4, 400);
這會導致聲音以400Hz播放,持續4秒。
問題是,函數playblocking()限制控件直到聲音完成。另一種方法是使用play(),這意味着根本沒有聲音播放(因爲函數完成後聲音就會停止)。
由於MATLAB版本中的已知錯誤,我無法使用sound()函數...如何使audioplayer()函數播放聲音而無需控制系統,如果聲音是在子功能內創建?