0

我问了另一个没有回答的问题,这导致了我这个问题。我有一个 for 循环,可以在声音文件中创建一个样本数组。我对两个文件执行此操作,并尝试将它们合并到第三个文件中。但是,值数组仅存在于 for 循环中,因此我不能在第三个文件中使用我需要的值,因为我还需要使用 for 循环访问第三个文件中的样本数组。在这种情况下,嵌套的 for 循环似乎没有意义。

抱歉忘了提到我正在使用python。这是让我感到困惑的代码块。

for index in getSamples(sound1):
    v1 = getSampleValue(index)

  for index in getSamples(sound2):
    v2 = getSampleValue(index)

  for index in getSamples(sound3):
    setSampleValue(index, v1+v2)

所以代码基本上从sound1中获取所有样本,从sound 2中获取所有样本,并尝试将sound3中的样本(与两种声音的长度相同)设置为每个索引处每个样本的组合。

但是,当这只播放/探索声音 3 的空白声音时。我认为问题在于 v1 和 v2 仅等于单个 for 循环中整个数组的值。

4

2 回答 2

0

为了使用循环外的变量来引用数组,您需要在循环外初始化该变量。这为您提供了对数组的引用。

var array = new Array();

for (int x=0; x<sample.length(); x++) {
    //do stuff in the loop to 'array' variable
}

//do what you want with 'array' after the loop
于 2012-06-03T07:31:28.187 回答
0

由于您不提供任何代码块,因此不确定您打算做什么。但基本上,是的,你可以。我会用php写一些东西:

$myarray = array(); //init the array
for($i=1; $i<10; $i++){
   //do something with myarray
}
//you can use myarray here

关键是:在循环开始之前在循环外声明“你想使用的任何东西”

于 2012-06-03T07:27:20.730 回答