IndexOutOfRangeException-オーディオスペクトルの質問

subykan

理由はわかりません。floatval= Spectrum [i]; 配列の範囲外のインデックスを生成しています。助けてください...!私はこのゲームの完全な初心者です。

public class InputScript : MonoBehaviour{
    void Start()
    {
        float[] spectrum = new float[256];
        AudioSource aud = GetComponent<AudioSource>();
        aud.clip = Microphone.Start(null, true, 10, 44100);
        aud.Play();

        float maxIndex = 0;
        float maxValue = 0.0f;
        for (int i = 0; i <= spectrum.Length; i++)
        {
            float val = spectrum[i];
            if (val > maxValue)
            {
                maxValue = val;
                maxIndex = i;
            }
        }

        var freq = maxIndex * AudioSettings.outputSampleRate / 2 / spectrum.Length;
    }

    void Update()
    {
        float[] spectrum = new float[256];
        AudioListener.GetSpectrumData(spectrum, 0, FFTWindow.Rectangular);
    }
}

マイクから入力のピッチを抽出できるはずです。

ジョンH

問題はこれです:

for (int i = 0; i <= spectrum.Length; i++)
// ----------------^

次の256ようにアクセスできるfloatの配列を定義しています

  • 最初の要素: spectrum[0]
  • 2番目の要素: spectrum[1]
  • 256番目の要素: spectrum[255]

あなたのループがどうかを確認するためにテストされたようi未満かであるに等しい spectrum.Length私たちが知っているおり、256これは、ある要素にアクセスしようとする効果を持っているspectrum[256]範囲外です。

ループ内の比較を以下に変更します。

for (int i = 0; i < spectrum.Length; i++)

そしてこれはあなたの問題を解決します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

CsvWriterのIndexOutOfRangeException

分類Dev

エラー:System.IndexOutOfRangeException

分類Dev

System.IndexOutOfRangeException: 'カウンター'-初心者

分類Dev

Parallel.Foreachを使用したDatatableのindexoutofrangeexception

分類Dev

IndexOutOfRangeExceptionは未処理のVBNETでした

分類Dev

IndexOutOfRangeException:SQL Serverselectステートメントのfield_name

分類Dev

配列内のデータへのアクセス中にC#IndexOutOfRangeException

分類Dev

SalesForceOutBoundメッセージリスナーのSystem.IndexOutOfRangeException

分類Dev

NetTopologySuiteを使用してジオメトリを保存するときのEntityFramework Core IndexOutOfRangeException

分類Dev

System.IndexOutOfRangeException C#-> forループエラー

分類Dev

System.IndexOutOfRangeException:テーブル0.5が見つかりません

分類Dev

IndexOutOfRangeException-ファイルの読み取り

分類Dev

MySqlDataReader.GetStream()がIndexOutOfRangeExceptionをスローする

分類Dev

C#IEnumerable.Count()はIndexOutOfRangeExceptionをスローします

分類Dev

正規表現システムでのIndexOutOfRangeException

分類Dev

なぜ例外エラーindexOutOfRangeExceptionが発生するのですか?

分類Dev

配列の最初のインデックスはIndexOutOfRangeExceptionを返します

分類Dev

SpreadsheetGearがコンストラクター内でIndexOutOfRangeExceptionをスローします

分類Dev

「IndexOutOfRangeException」の理由が見つかりません

分類Dev

最近傍点計算プログラムのSystem.IndexOutOfRangeException

分類Dev

いくつかの奇妙な理由によるIndexOutOfRangeException

分類Dev

C#ArrayList IndexOutOfRangeException

分類Dev

IndexOutOfRangeException, but there is no out of range

分類Dev

「System.IndexOutOfRangeException」

分類Dev

ページWebサービスの拡張コードユニットを作成するときのIndexOutOfRangeException

分類Dev

ケーススイッチ配列で「System.IndexOutOfRangeException」が発生しました

分類Dev

列ASエイリアスは「System.IndexOutOfRangeException」をスローします

分類Dev

Unityプロジェクトで「IndexOutOfRangeException」が発生し続けます。UNITY + PHP

分類Dev

c#を使用した入力ブロック暗号のSystem.IndexOutOfRangeException

Related 関連記事

  1. 1

    CsvWriterのIndexOutOfRangeException

  2. 2

    エラー:System.IndexOutOfRangeException

  3. 3

    System.IndexOutOfRangeException: 'カウンター'-初心者

  4. 4

    Parallel.Foreachを使用したDatatableのindexoutofrangeexception

  5. 5

    IndexOutOfRangeExceptionは未処理のVBNETでした

  6. 6

    IndexOutOfRangeException:SQL Serverselectステートメントのfield_name

  7. 7

    配列内のデータへのアクセス中にC#IndexOutOfRangeException

  8. 8

    SalesForceOutBoundメッセージリスナーのSystem.IndexOutOfRangeException

  9. 9

    NetTopologySuiteを使用してジオメトリを保存するときのEntityFramework Core IndexOutOfRangeException

  10. 10

    System.IndexOutOfRangeException C#-> forループエラー

  11. 11

    System.IndexOutOfRangeException:テーブル0.5が見つかりません

  12. 12

    IndexOutOfRangeException-ファイルの読み取り

  13. 13

    MySqlDataReader.GetStream()がIndexOutOfRangeExceptionをスローする

  14. 14

    C#IEnumerable.Count()はIndexOutOfRangeExceptionをスローします

  15. 15

    正規表現システムでのIndexOutOfRangeException

  16. 16

    なぜ例外エラーindexOutOfRangeExceptionが発生するのですか?

  17. 17

    配列の最初のインデックスはIndexOutOfRangeExceptionを返します

  18. 18

    SpreadsheetGearがコンストラクター内でIndexOutOfRangeExceptionをスローします

  19. 19

    「IndexOutOfRangeException」の理由が見つかりません

  20. 20

    最近傍点計算プログラムのSystem.IndexOutOfRangeException

  21. 21

    いくつかの奇妙な理由によるIndexOutOfRangeException

  22. 22

    C#ArrayList IndexOutOfRangeException

  23. 23

    IndexOutOfRangeException, but there is no out of range

  24. 24

    「System.IndexOutOfRangeException」

  25. 25

    ページWebサービスの拡張コードユニットを作成するときのIndexOutOfRangeException

  26. 26

    ケーススイッチ配列で「System.IndexOutOfRangeException」が発生しました

  27. 27

    列ASエイリアスは「System.IndexOutOfRangeException」をスローします

  28. 28

    Unityプロジェクトで「IndexOutOfRangeException」が発生し続けます。UNITY + PHP

  29. 29

    c#を使用した入力ブロック暗号のSystem.IndexOutOfRangeException

ホットタグ

アーカイブ