2016-09-20 3 views
-2

Я создаю простое приложение, когда программа начинает мигать текст и воспроизводится песня. Когда я поворачиваю свой телефон, он должен изменить пейзаж и перезапустить песню. Я могу сделать первую часть, но она падает, когда я меняю пейзаж. Он работает, если я удаляю метод onPause, но когда я делаю эту музыку, она продолжает играть в фоновом режиме, и она также начинается с начала. Одновременно воспроизводятся две песни.Моя программа вылетает при повороте моего телефона

import android.media.MediaPlayer; 
import android.os.Bundle; 
import android.os.Handler; 
import android.support.v7.app.AppCompatActivity; 
import android.view.View; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 
MediaPlayer ourSong; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    ourSong = MediaPlayer.create(this,R.raw.fixyou); 
    ourSong.start(); 
    blinkText(); 
} 

@Override 
protected void onPause(){ 
    super.onPause(); 
    ourSong.release(); 
    finish(); 
} 

private void blinkText() { 
    // TODO Auto-generated method stub 
    final Handler handler = new Handler(); 
    new Thread(new Runnable() { 
     @Override 
     public void run() { 
      int timeToBlink = 500; //in ms 
      try{ 
       Thread.sleep(timeToBlink); 
      }catch (Exception e) { 

      } 
      handler.post(new Runnable() { 
       @Override 
       public void run() { 
        TextView txt = (TextView) findViewById(R.id.tv); 
        if(txt.getVisibility() == View.VISIBLE){ 
         txt.setVisibility(View.INVISIBLE); 
        }else{ 
         txt.setVisibility(View.VISIBLE); 
        } 
        blinkText(); 
       } 
      }); 
     }}).start(); 



} 
} 
+0

Вам нужно обрабатывать onconfigurationchanged – surya

+0

@surya, где я делаю то, что новое действие который мне нужно создать. im новички на этом действительно ценят вашу помощь – user2905259

+0

проверьте это http://stackoverflow.com/questions/17917994/how-to-play-audio-continuously-while-orientation-changes-in-android – surya

ответ

1
android:configChanges="orientation|screenSize" 

использовать эту строку в вашем файле манифеста в нужной метке активности как этот

<activity 
android:name=".PActivity" 
android:label="@string/title_activity_r" 
android:noHistory="true" 
android:configChanges="orientation|screenSize"> 
</activity> 
+0

Я пытался выяснить, есть способ сделать это, не касаясь файла манифеста – user2905259

+0

, поскольку @surya сказал, что, пожалуйста, посмотрите этот ответ, он решит вашу проблему. http://stackoverflow.com/questions/17917994/how-to-play-audio-continuously-while-orientation -изменения-в-андроида –