使用Basic4android创建任意色调的任何方法



是否有任何方法与Basic4Android使其发出任意频率的声音(意思是,我不想有预先录制的声音文件)和持续时间?

在一些"传统的"Basic语言中,这将通过例如BEEP命令后跟所需的频率和持续时间来完成。

Basic4Android似乎不支持任何等价的命令

我正在寻找这个功能,以便编程一个莫尔斯电码生成应用程序,为此目的,我需要保持灵活关于音频音调(必须是用户可选择的)之间,例如500Hz,让我们说1000 Hz以及以毫秒为单位的可变持续时间(为了能够生成可变用户可选择的摩尔斯电码的横线和点的速度和无声的中断之间)…

用预先录制的WAV来做这件事根本不实际或几乎不可能,否则你最终会在所有频率/速度组合的巨大WAV集合中结束。

在Android中似乎可以这样做,请看下面的例子:http://marblemice.blogspot.com/2010/...n-android.html

就我所能解释的这段代码而言,它计算一个正弦波音调"在飞行中"以所需的频率进入缓冲区数组,并使用该缓冲区数据来生成和播放它作为PCM流。

既然上面的代码似乎很简单,我想知道如果一个聪明的Java编程家伙会想出一个简单的Basic4Android"Tone Generator"库,其他人可以使用这个目的?

不幸的是,我只是一个老式的VisualBasic家伙,我的第一步与Basic4Android…对于创建我自己的库来说,我的技能实在是太差了。

Audio library已经更新,你现在可以使用Beeper对象来播放"beep"的声音。

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

更新库链接

这在基于java的Android应用程序中绝对可以实现。我不知道如果Basic4Android可以做这个"原生"(我从来没有听说过Basic4Android在此之前),但似乎你可以在java中创建库,然后由Basic4Android访问,所以理论上可以创建一个java库,这样做,然后从你的B4A应用程序调用它。

然而,因为这将需要学习一些java和Android插件的Eclipse,也许你应该采取冒险和学习java的Android?我自己是一个长期的Visual Basic爱好者(从1995年开始),从c#过渡到java并不是那么困难。

相关内容

最新更新