2

ユーザーがタイルに触れるたびに、私のアプリは短いビープ音を鳴らします。いいね。ただし、ユーザーが指をドラッグすると、ビープ音が連続して複数回再生されます。これは機能しますが、パチパチという静的なノイズも発生します。パチパチ音をなくそうとしています。

私はうまくいかなかった多くのことを試しました:

  • SoundPool の最大ストリーム数を 8 または 16 に増やす - 効果なし
  • play() の各呼び出しが最後の呼び出しよりも高い優先度を使用するように sndPriority をインクリメントする - 効果なし
  • 前のサウンドで sp.stop(sndPlaying) を呼び出す - これは実際にパチパチ音を悪化させます
  • 異なる Android OS バージョンの 2 つの異なるデバイスでテスト済み、同じクラックル
  • Audacity でサウンド ファイルをいじりましたが、パチパチ音はサウンド ファイルの問題ではないと確信しています。

コード:

public void setup() {
  sp = new SoundPool(1, AudioManager.STREAM_MUSIC, 0);
  sndBeep = sp.load(panel.act.getApplicationContext(), R.raw.beep, 1);
}
public void play() {
  // sp.stop(sndPlaying);   -- this actually makes the crackling noise worse
  // sndPriority++;         -- this had no effect
  sndPlaying = sp.play(sndBeep, 1.0f, 1.0f, sndPriority, 0, sndFreq);
}
4

2 に答える 2