2011-09-30 43 views
1

有沒有什麼辦法可以讓Basic4Android發出任意頻率的聲音(意思是我不想有預先錄製的聲音文件)和持續時間?任何使用Basic4android創建任意音色的方法?

在某些「傳統」基本語言中,這可以通過例如一個BEEP命令,然後是所需的頻率和持續時間。

Basic4Android似乎不支持任何等效命令。

我正在尋找這個功能,以編程摩爾斯電碼生成應用程序,爲此,我需要保持靈活性,以確保電話號碼之間的音頻音頻(必須是用戶可選擇的)。 500Hz,並且可以說1000Hz以及以毫秒爲單位的可變持續時間(爲了能夠產生可變的用戶可選速度的莫爾斯電碼短劃線和點之間的無聲中斷)...

這根本不實用或接近無法用預先錄製的WAV來做到這一點,否則你將最終成爲一個巨大的WAV集合,用於所有頻率/速度組合。

這似乎是有可能在Android中這樣做,看到這裏的例子: http://marblemice.blogspot.com/2010/...n-android.html

至於我可以解釋這個代碼,它計算的正弦波音「對飛」在希望的頻率成緩衝區數組並使用該緩衝區數據生成並作爲PCM流播放。

由於上面的代碼似乎很簡單,我不知道一個聰明的Java編程人員會想出一個簡單的Basic4Android「音頻發生器」庫,其他人可以用於此目的?

不幸的是,我只是一個老式的VisualBasic傢伙,並使我的第一步與Basic4Android ...創建我自己的圖書館我的技能太簡直太糟糕了。

回答

0

這在基於java的應用程序中完全可以在Android上執行。我不知道Basic4Android是否能夠「本地化」(在此之前,我從未聽說過Basic4Android),但似乎可以用java創建庫,然後可以通過Basic4Android訪問,所以理論上可以創建一個這樣做的java庫,然後從你的B4A應用程序調用它。

然而,由於這將需要學習一些java和Eclipse的Android插件,也許你應該只是冒險和學習Android的Java?我自己是一個長期的Visual Basic人員(從1995年開始),並且轉換到C#以及由此轉向java並不是那麼困難。

1

音頻庫已更新,您現在可以使用Beeper對象播放「嗶」聲。

Dim b As Beeper 
b.Initialize(300, 500) '300 milliseconds, 500hz 
b.Beep 

Updated library link

相關問題