我是Android新手,我必须创建MediaPlayer播放音频音乐.开始时我的活动歌曲开始播放.但是,当我更改我的模拟器屏幕上的方向时,MediaPlayer将重新初始化并开始播放另一个音频.我怎么能避免呢?
这是我的代码:
public class Audio_Activity extends Activity {
MediaPlayer mp = null;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
if(isLaunched)
{
setContentView(R.layout.audio);
}
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
length = settings.getInt("TheOffset", 0);
init();
prefs = PreferenceManager.getDefaultSharedPreferences(this);
mp = MediaPlayer.create(getApplicationContext(), R.raw.subhanallah);
playMusic();
mp.setOnCompletionListener(new OnCompletionListener()
{
@Override
public void onCompletion(MediaPlayer arg0)
{
// TODO Auto-generated method stub
}
});
}
private void playMusic()
{
httpGetAsynchTask httpGetAsyncTask = new httpGetAsynchTask();
httpGetAsyncTask.execute();
}
class httpGetAsynchTask extends AsyncTask<String,Integer, Void>
{
protected void …Run Code Online (Sandbox Code Playgroud) Android的YouTube应用有一些功能:
当设备的屏幕处于纵向状态并且您观看视频并将屏幕方向更改为横向时,视频将全屏显示,相关视频列表将消失.它继续播放而不重新启动或重新播放.
肖像:

景观:

问题是:
当我将布局XML文件创建为"layout"和"layout-land"时,从纵向到横向时,我的Activity被销毁.我必须重新播放视频.
如果我设置Androidmanifest.xml使用android:configChanges="orientation",那么Activity不会被销毁,但布局不会改变.
我怎样才能做到这一点?