0

サウンドボードのように、アプリケーションで1〜2分間再生されるオーディオファイルがいくつかあります。誰かがボタンをクリックすると、その音が鳴ります。十分に単純です。SharedPreferenceに設定があり、ユーザーがアプリケーションを終了するか一時停止するか、サウンドを再生し続けるかどうかをユーザーに尋ねます。それは私が立ち往生しているところです。

現在のところ、ユーザーが「再生を続ける」ように設定すると、アプリケーションがフリーズし、手動で強制終了する必要があります。これが私が持っているものです:

@Override
protected void onPause() {

    SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    boolean settingContinueMusic = getPrefs.getBoolean("continueMusic", false);
    if(settingContinueMusic == false){
        super.onPause();
        if(audio1.isPlaying()) { audio1.pause(); }
        if(audio2.isPlaying()) { audio2.pause(); }
        if(audio3.isPlaying()) { audio3.pause(); }
    }

}
4

1 に答える 1

0

super.onPause();if条件の中に入れているので、問題が発生していると思います。ユーザーがオーディオを一時停止することを決定した場合にのみ実行されます。ifから移動して、機能するかどうかを確認します。

@Override
protected void onPause() {
 super.onPause();
    SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    boolean settingContinueMusic = getPrefs.getBoolean("continueMusic", false);
    if(settingContinueMusic == false){

        if(audio1.isPlaying()) { audio1.pause(); }
        if(audio2.isPlaying()) { audio2.pause(); }
        if(audio3.isPlaying()) { audio3.pause(); }
    }

}
于 2012-04-14T04:00:05.523 に答える