0
最初に私の悪い英語を残念に思います。私は自分のベストを尽くす。2トーンのオーディオ信号を生成する
AudioTrack tone = generateTone(500, 1000);
tone.play();
しかし、私は2つの周波数を次々に淡いする必要があります。
private AudioTrack generateTone(double freqHz, int durationMs)
{
int count = (int)(44100.0 * 2.0 * (durationMs/1000.0)) & ~1;
short[] samples = new short[count];
for(int i = 0; i < count; i += 2){
short sample = (short)(Math.sin(2 * Math.PI * i/(44100.0/freqHz)) * 0x7FFF);
samples[i + 0] = sample;
samples[i + 1] = sample;
}
AudioTrack track = new AudioTrack(AudioManager.STREAM_MUSIC, 44100,
AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT,
count * (Short.SIZE/8), AudioTrack.MODE_STATIC);
track.write(samples, 0, count);
return track;
}
以下のように私はによって彼を呼び出すことができます見えます
だから、私は短いコード(オーディオ信号発生器)を持っています30分
ように、その後、その後1秒間400Hzの、1秒間800、1秒間再び400と...
私はそれをどのように行うことができますか? 2つのaudioTracks tone1とtone2を作成します。
AudioTrack tone = generateTone(500, 1000);
AudioTrack tone2 = generateTone(800,1000);
次に何をすればよいですか?あなたが私に答える時間を過ごしてくれてありがとう、あなたの答えに感謝します! ああ、P.S =>それはアンドロイドアプリに関する...
おかげでそれをしないことを確認してください。しかし、私は新しいスレッドでそれをやろうとしています。私は静的メソッド以外のメッセージgetPlayState()を静的コンテキストから参照することはできません。 – MDobroch
@MDobrochこのスレッド用に書いたコードを貼り付けることができますか? – pantos27