基本上這次程式碼主要是用程式來產生 Sin 正弦波聲音,波形圖如下:
以下為執行結果,可以使用滑桿來改變聲音頻率:
using UnityEngine;
public class SinAudio : MonoBehaviour{
float f = 0;
float f2 = 0;
float sv = 300;
float Hz;
void OnAudioFilterRead(float[] data, int channels){
for (int i = 0; i < data.Length; i++){
data[i] = Mathf.Sin(f);
if(i% (int)sv == 0){
f++;
}
}
}
void Awake(){
InvokeRepeating("Run", 0, 1);
}
void Run(){
Hz = f - f2;
f2 = f;
}
void OnGUI(){
GUI.Label (new Rect(Screen.width/2-30, Screen.height/2-50, 60, 30), Hz +" Hz");
sv = GUI.HorizontalSlider(new Rect(20, Screen.height/2-15, Screen.width-40, 30), sv, 1, 1000);
}
}
留言列表