-1

View を拡張し、このクラスのオブジェクトをレイアウトに配置するクラス Key があります。キーはピアノのキーで、押すとキーを押すイメージに変わります。この目的のために、状態を変更し、ノートを再生し、invalidate() メソッドを呼び出し、状態を変更し、invalidate() メソッドを呼び出すメソッド press() があります。プログラムでサウンドを再生し、Recorder クラスのオブジェクトを作成して、プレスされるキーへの参照を ArrayList に配置します。その間、次の音符の前に時間遅延のある ArrayList デュレーションを作成します。それは私のメロディーをうまく演奏しますが、キーを再描画せず、オーバーライドした onDraw() メソッドをロックします。キーが順番にどのように再生されるかを示したいと思います。修正方法は?このメロディーを再生するために runOnUiThread などのスレッドを実行しようとしましたが、何も起こりません。

4

1 に答える 1

0

わかった。この問題を解決しました。キーごとに、AsyncTask を拡張して doInBackground() メソッドをオーバーライドするクラスのインスタンスを作成します。

于 2015-05-19T01:14:27.610 に答える