0

疲れているかもしれませんが、「float 値」を C 配列スタイルから NSNumber を介して NSarray に渡し、同一のデータを取得しようとすると、問題が発生します。私が達成したいのは、オーディオ波形をプロットするために、この値を他のクラスに渡すことです。

仮定:

   //needed range from -1.0 to 1.0
   monoFloatDataLeft[i] = (float)left / 32768.0;
   monoFloatDataRight[i] = (float)right / 32768.0;


   ArraySx = &monoFloatDataLeft[i];
   ArrayDx = &monoFloatDataRight[i]; 
   NSLog(@"right %f\n",ArrayDx);

   [self floatSx:*(ArraySx) floatDx:*(ArrayDx)];

出力: 右 -0.000061

今機能中...

  -(void)floatSx: (float)left floatDx: (float) right{

 NSLog (@"Left in function  %f\n", left);
 NSLog (@"right in function  %f\n", right);

 NSArray *cannelLeftArray = [NSArray arrayWithObjects:[NSNumber numberWithFloat:left], nil];
 NSLog (@"cannelLeftArray  %@\n", canaleSinistroArray);

 NSArray *channelRightArray = [NSArray arrayWithObjects:[NSNumber numberWithFloat:right], nil];
 NSLog (@"channelRightArray  %@\n", canaleDestroArray);

}

Output:
Left in function  -0.000061
right in function  -0.000153

cannelLeftArray("-0.0001525879")

channelRightArray("-6.103516e-05")

わかりました、必要なのは、関数の左と右のような同じ浮動小数点値スタイルで配列を設定することです...

十分に明確であることを願っています。

前もって感謝します

4

0 に答える 0