Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Matlab以特定的间隔播放音频文件?_Matlab_Matlab Figure_Audio Player - Fatal编程技术网

如何使用Matlab以特定的间隔播放音频文件?

如何使用Matlab以特定的间隔播放音频文件?,matlab,matlab-figure,audio-player,Matlab,Matlab Figure,Audio Player,正常情况下: player=audioplayer(snd1,FS1); play(player); %let as suppose that sound duration is 10 seconds % and I wanted to play the sound from second 5 or 7... % .. depending on the input of user(and using audioplayer libraries) 您可以使用以下功能指定开始和停止: lo

正常情况下:

player=audioplayer(snd1,FS1);
play(player);

%let as suppose that sound duration is 10 seconds
% and I wanted to play the sound from second 5 or 7... 
%   .. depending on the input of user(and using audioplayer libraries)

您可以使用以下功能指定
开始
停止

load handel;
playerObj = audioplayer(y,Fs);
start = 1;
stop = playerObj.SampleRate * 3;

play(playerObj,[start,stop]);
或者,您可以计算总数据的子样本,并将其提供给:


audioplayer的
PLAY
方法支持名为
[startSample stopSample]
的附加输入参数。因此,如果你想在5到7秒之间播放音频,你必须指定的范围是
[player.SampleRate*5 player.SampleRate*7]

好吧,这是一个半身笑。就要写这个了+1.顺便说一句,为了适应多通道情况,您可能需要使用
y(…,:)
,而不是
y(…,1)
。您可能还希望确保
beginTime
endTime
是整数。如果OP想要清除音频,可能会出现起始秒和结束秒为浮点的情况。@rayryeng-Haha抱歉:)有时也会发生在我身上!好的提示顺便说一句,已经相应地编辑了我的答案!我不是问这个问题的人:)rayryeng!=0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF。有趣。
load handel;
% y = data
% Fs = frequency = number of datapoints per second
% so calculate begin and end time using the sampling frequency:
totalTime = size(y,1)/Fs;  % all data divided by sampling frequency
beginTime = round(5*Fs);   % 5 seconds
endTime = round(7*Fs);     % 7 seconds

% playing full audio:
% player = audioplayer(y, Fs);
% play(player);

% playing only part of audio:
player = audioplayer(y(beginTime:endTime,:), Fs);
play(player);