はい、私はこれを投稿する前に答えを探しました。 :)アプリでショートトーンがクラッシュすることなく
メイドのボードゲームでは、各ピースがダイスのロールを得て、その後、ステップごとに四角に移動します。短いビープ音で各ステップを踏みたいメソッド "beep();"を追加しました。画面上のピースの位置を移動するハンドラに配置します。
ビープ音()を追加すると、ゲームは動いて動いて、単に報告やエラーメッセージを出さずに停止します。画面での表示が閉じ、ダイアログに「残念なことに、BoardLSが[OK]を停止しました」と表示され、それ以外のことは起こりません。
ビープ音()を取り除くと、ゲームは大丈夫です。
ビープ音がどのようにゲームをクラッシュさせ、どのように回避するかを知っている人は、できるだけ簡単に教えてください。ありがとう。
ここで私はビープ音を作った方法は次のとおりです。
private void beep() {
ToneGenerator beepSound = new ToneGenerator(AudioManager.STREAM_MUSIC, 60);
beepSound.startTone(ToneGenerator.TONE_PROP_BEEP, 75);
} // Short sound
と私はこのようにそれを呼び出す:
private final Handler playMove = new Handler() {
@Override
public void handleMessage(Message playMsg) {
beep();
player.setX(pcX[playPos]);
player.setY(pcY[playPos]);
}
}; // Put Player piece to new coordinates
playPos作品があるか、される場所、
PCX平方数で、 pcYは、画面座標が2乗の配列です。
ハンドラはMainActivity、
とplayMove.sendEmptyMessageとAsyncTask(0)から呼び出されています。
AsyncTaskはグローバル変数で直接動作するため、ここで問題は発生しません。
logcatにスタックトレースがあるはずです。 –