2012-09-05 118 views
0

我用Splash Music做了一個應用程序。但是,每當我進入應用程序的偏好時,音樂會自動停止,然後永遠不會播放,直到我重新啓動應用程序。當我打開一個活動時,情況也是如此,該活動表明手機處於「正常」模式還是處於「靜音」模式。背景音樂自動停止

  • 這種奇怪行爲的原因是什麼? 這裏是飛濺的音樂代碼,我檢查是否播放音樂或不..

    公共類閃屏擴展活動{

    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(); 
    } 
    

    }

感謝

+0

如果你顯示你的代碼會更好。有很多方法來實現你的功能 – user1049280

回答

0

這是因爲您正在主線程上創建和播放媒體播放器對象。當您的活動暫停時,您正在完成停止您的媒體播放器的活動。如果您想讓音樂獨立於活動,請將其轉換爲服務。

+0

我該怎麼做? –

0

在服務中運行應該會對您有所幫助。

+0

你不會說任何現有的答案都沒有說過。 –