簡體   English   中英

給定整數振幅點,如何繪制平滑曲線?

[英]How do you draw smooth curves given integer amplitude points?

我試圖繪制一個正弦波波形(認為Siri),該波形會拾取並立即受到用戶聲音的影響。 如果我能夠在Android上像S4這樣的設備上盡可能地流暢地完成任務,我將非常滿意,因此,非常感謝您提供任何有用的信息。

現在,我了解了如何使用MediaRecorder以“ tick”( 參考 )值獲取最大幅度,並且可以在MediaRecorder記錄和拾取音頻時將這些整數值中的幾個存儲在數組中,但是我沒有想出如何將整數數組轉換為類似我上面發布的Github項目的東西。 如果有人可以建議該數組的大小,我也將不勝感激,因為我想盡快轉儲舊數據,以使動畫更快並使用盡可能少的內存。

我的方法如下:您可以存儲最后5個值(在您的示例中,一次顯示大約5-6行)。

然后,針對這5個值中的每個值:取最大振幅值作為參考,並將其用於計算當前值的百分比。 將該百分比與sin(x) Math.sin函數一起使用可平滑曲線:

例:

MAX_AMPL:1200 CURR_VALUE:240-> MAX_AMPL的20%

使用android上的圖元Drwaing在android上繪制f(x)=(CURR_VALUE / MAX_VALUE)Math.Sin(x)如果在0至2Pi之間繪制函數,我想您將獲得與示例中相同的波數。

值越新(值ArrayList中的位置),消失效果的行越寬。 最后,從最舊到最新繪制圖形。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM