1

Basic4Androidを使用して、任意の周波数(つまり、事前に録音されたサウンドファイルが必要ない)と持続時間のサウンドを放出する方法はありますか?

一部の「従来の」基本言語では、これは、たとえばBEEPコマンドとそれに続く目的の頻度と期間を介して行われます。

Basic4Androidは同等のコマンドをサポートしていないようです。

私はモールス信号生成アプリをプログラムするためにこの機能を探しています。この目的のために、たとえば500Hzから1000Hzまでの可聴周波数トーン(ユーザーが選択可能である必要があります)とミリ秒単位の可変持続時間に関して柔軟性を保つ必要があります。 (モールス信号のダッシュとドット、およびそれらの間のサイレントブレイクのユーザーが選択可能な可変速度を生成できるようにするため)...

事前に録音されたWAVでこれを行うことは、単純に実用的ではないか、ほぼ不可能です。そうしないと、すべての周波数/速度の組み合わせに対して膨大なWAVコレクションが作成されてしまいます。

Androidではそうすることが可能であるようです。ここの例を参照してください:http: //marblemice.blogspot.com/2010 /... n-android.html

このコードを解釈できる限り、希望の周波数で「オンザフライ」で正弦波トーンを計算してバッファー配列に入れ、そのバッファーデータを使用してPCMストリームとして生成および再生します。

上記のコードは非常に単純なように思われるので、賢いJavaプログラミングの人が、他の人がこの目的に使用できる単純なBasic4Android「トーンジェネレータ」ライブラリを思い付くのではないかと思います。

残念ながら、私は昔ながらのVisualBasicの人であり、Basic4Androidで最初の一歩を踏み出しました...自分のライブラリを作成するための私のスキルは単純にひどいものです。

4

2 に答える 2

1

オーディオライブラリが更新され、Beeperオブジェクトを使用して「ビープ」サウンドを再生できるようになりました。

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

更新されたライブラリリンク

于 2011-10-01T06:48:10.260 に答える
0

これは、AndroidのJavaベースのアプリケーションで確実に実行できます。Basic4Androidがこれを「ネイティブに」実行できるかどうかはわかりませんが(これまでBasic4Androidについて聞いたことがありませんでした)、Javaでライブラリを作成して、Basic4Androidからアクセスできるようになっているため、理論的には可能です。これを行うJavaライブラリを作成し、B4Aアプリから呼び出します。

ただし、これにはEclipse用のJavaとAndroidプラグインの学習が必要になるため、思い切ってAndroid用のJavaを学習する必要がありますか?私自身は(1995年に開始された)長期的なVisual Basicの担当者であり、C#に移行してからJavaに移行することはそれほど難しくありませんでした。

于 2011-09-30T22:54:20.550 に答える