2016-09-20 114 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我在哪里可以做到这一点,就是新动作听众,我需要创建。即时通讯新手在此真的感谢您的帮助 – 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 -changes功能于安卓 –

相关问题