求助贴,初学者求助大佬关于do循环的问题
mathematica吧
全部回复
仅看楼主
level 2
代码如下:
m = 512;
freq = {1, 2^(2/12), 2^(4/12), 2^(5/12), 2^(7/12), 2^(9/12), 2^(11/12), 2};
Playmusic[lbk]song_[rbk] := Do[lbk]Play[lbk]Sin[lbk]2*Pi*m*t*freq[lbk][lbk]song[lbk][lbk]i[rbk][rbk][rbk][rbk][rbk], {t, 0, 0.8}, PlayRange -> {0, 1}[rbk], {i, 1, Length[lbk]song[rbk]}[rbk];
music = {1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2, 1};
Playmusic[lbk]music[rbk]
所示代码来源于数学实验课本,但版本较旧,存在一些问题,实际运行并没有发出音乐,向各位大佬求助。[玫瑰] [玫瑰] [玫瑰]
2024年03月07日 04点03分 1
吧务
level 15

……能意识到是版本问题这点还是值得表扬的嗯。
用不了的原因应该是,版本6的时候Play函数改了一次。加个EmitSound就行了:
m = 512; freq = {1, 2^(2/12), 2^(4/12), 2^(5/12), 2^(7/12), 2^(9/12), 2^(11/12), 2};
Playmusic[song_] :=
Do[EmitSound@
Play[Sin[2 π m t freq[[song[[i]]]]], {t, 0, 0.8`}, PlayRange -> {0, 1}], {i,
1, Length[song]}]; music = {1, 2, 3, 4, 5, 6, 7, 8, 7, 6, 5, 4, 3, 2,
1}; Playmusic[music]
还有我求求你们别用手机了行吗……
2024年04月06日 08点04分 3
1