1
を変更し、私はアンドロイドのスタジオでピアノのアプリを作成しています:サウンド以前のビューよりも果たしているが
を私が押されたときには、記録と再生を行うことになっている私の再生ボタンのクリックリスナーに持っていますボタンは表示されず、録音されたサウンドが再生されている間は停止ボタンが表示されます。
再生ボタン
mBtn_Play.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mRecordingState = "Playing";
switchButtonVisibility();
for (final int sound: mListRecordedSounds)
{
if (mRecordingState == "Ready")
{//break out of loop when stop button is pressed
break;
}
else {
mSoundPool.play(sound, 1,1,1,0,1);
try
{
Thread.sleep(500);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
});
}
ボタンの可視レコードと
private void switchButtonVisibility()
{
if (mRecordingState != "Ready")
{
mBtn_Stop.setVisibility(View.VISIBLE);
mBtn_Record.setVisibility(View.GONE);
mBtn_Play.setVisibility(View.GONE);
}
else
{
mBtn_Stop.setVisibility(View.GONE);
mBtn_Record.setVisibility(View.VISIBLE);
mBtn_Play.setVisibility(View.VISIBLE);
}
}
を切り替える方法とボタンを停止し、これは正しく
mBtn_Record.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mListRecordedSounds.clear();
mRecordingState = "Recording";
switchButtonVisibility();
}
});
mBtn_Stop.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
mRecordingState = "Ready";
switchButtonVisibility();
}
});
の作品210
いくつかの奇妙な理由のために、ループを最初に実行し、どのボタンが表示されるかを変更する前に音を再生しています。メソッドがループの上にあるので、これは意味をなさないと思われます。 ループが実行されてサウンドが再生される前に、ボタンの可視性が最初に変更されるように設定する方法はありますか?
ありがとうございます、アジズベキアンはあなたの問題を解決しました。 'mBtn_Play.post(新しいランナブル(){' mBtn_Stop.post(new Runnable(){'の代わりに' {' –
ニース! – azizbekian