将播放所选歌曲的代码

时间:2017-12-05 18:34:17

标签: matlab function shuffle

正如标题所示,我试图编写一个代码,用于随机播放用户选择的歌曲列表。我成功了所有的部分,但是那个洗牌的部分,似乎代码什么都不做,因为它应该改变歌曲列表。下面是代码,其中Z是包含所有轨道的单元阵列。用户选择的名称,V也是包含用户可以选择的所有可用轨道的单元阵列。我只需要一些帮助来完成此代码,甚至在需要时更改所有代码。顺便说一句,myoffset只是用户通过输入选择的值,我的朋友告诉我使用它,但我不明白为什么所以如果它妨碍你只是忽略/删除它。

function shuffled=theSpotifyShuffle(Z, myOffset)    
Z=strcat('Track',L,':',V(result)');     
U1=unique(Z);     
Numbsongs = zeros(size(U1)); 
for i = 1:length(U1)  
Numbsongs(i) = sum(strcmp(chosen,U1(i)));
end 
for j=1:length(T) 
for i = 1:length(U1)
 if Numbsongs(i)==1 
     myOrder(Numbsongs)=rand(1);
else Numbsongs(i)> 1;
 N=Numbsongs(i);
 for n=1:N
     myorder(i)=(n/(N+1)*(1+myOffset*randn(1)));
 end
 end
 end
 end
 end

1 个答案:

答案 0 :(得分:1)

使用randperm生成混洗索引并使用它们进行混洗Z

shuffled = Z(randperm(numel(Z)));