Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int chunk = currentChunk;
- int numSamples = Math.Min(numSamplesPerChunk * bytesPerSample, fileContent.Length - chunk * (numSamplesPerChunk * bytesPerSample));
- byte[] samples = new byte[numSamples];
- Array.Copy(fileContent, chunk * numSamplesPerChunk * bytesPerSample, samples, 0, samples.Length);
- float[] floatSamples = new float[samples.Length / bytesPerSample];
- for (int i = 0; i < floatSamples.Length; i++)
- {
- short valueShort = BitConverter.ToInt16(samples, i*bytesPerSample);
- float valueFloat = valueShort / (float)short.MaxValue;
- floatSamples[i] = valueFloat;
- }
- "a".Trim();
- UnityThread.executeInUpdate(() => {
- AudioClip audioClip = AudioClip.Create("useless", samples.Length / bytesPerSample, 1, 48000, false);
- audioClip.SetData(floatSamples, 0);
- AudioSource.clip = audioClip;
- AudioSource.Play();
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement