0

Splash Music でアプリケーションを作成しました。しかし、アプリの設定に行くたびに、音楽は自動的に停止し、アプリケーションを再起動するまで再生されません。電話が「通常」モードか「サイレント」モードかを示すアクティビティを開くときも同じです。

  • この奇妙な動作の理由は何ですか? これは、音楽を再生するかどうかを確認するスプラッシュ音楽コードです..

    public class SplashScreen extends Activity{

    MediaPlayer mp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // TODO Auto-generated method stub
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splashscreen);
    
        mp= MediaPlayer.create(SplashScreen.this, R.raw.got);
        SharedPreferences pref= PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    ;
    if(pref.getBoolean("music", true))
    {
        mp.start();
    }
    if(pref.getBoolean("loop", true))
    {
        mp.setLooping(true);
    }
    Thread timer= new Thread()
    {
        public void run()
        {
        try
        {
            sleep(5000);
            Class ourclass = Class.forName("com.umer.practice2.Menu");
            Intent myintent= new Intent(SplashScreen.this,ourclass);
            startActivity(myintent);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
        }
          };
        timer.start();
    }
    
    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        finish();
    }
    

    }

ありがとう

4

2 に答える 2

0

これは、メインスレッドでメディアプレーヤーオブジェクトを作成して再生しているためです。アクティビティが一時停止しているときは、メディアプレーヤーを停止しているアクティビティを終了しています。アクティビティから音楽を独立させたい場合は、オフショアでサービスを利用してください。

于 2012-09-05T16:15:35.020 に答える
0

サービスで実行すると役立ちます。

于 2013-01-03T23:15:20.110 に答える