2012-11-12 57 views
1

在Android中,SoundPool.play API允許播放聲音效果。我想知道應該怎麼改變參數以實現多普勒效應:Android中的多普勒/合成效果?

public final int play (
    int soundID, 
    float leftVolume, 
    float rightVolume, 
    int priority, 
    int loop, 
    float rate) 
+1

您可能無法使用SoundPool做到這一點。您可能必須使用[AudioTrack]自己計算並寫入原始PCM數據(http://developer.android.com/reference/android/media/AudioTrack.html) – Tim

回答

1

多普勒頻移的公式是:f = f0 * (c + vr)/(c + vs),其中Vs/VR - 發送器和接收器的速度,c是的速度聲音(空氣爲300m/s),您可以使用(c+vr)/(c+vs)作爲play()中的rate參數。

如果您需要,以下是關於Doppler shift的其他信息。

+0

我會試試:) – l33t