2012-06-09 3 views
1

내 주 활동으로 음악을 재생할 수있는 onroid(), 음악을 일시 중지 (on)하고 음악 onResume()을 다시 시작하는 Android 앱이 있습니다. MediaPlayer를 사용하고 있습니다. 문제는 음악을 onResume()을 다시 시작하지 않으려는 것입니다. 메인 액티비티에서 화면을 회전시킬 때입니다. 다른 활동에서 메인 활동으로 돌아올 때만 음악을 다시 시작하기를 원합니다. 어떤 제안?Android : 새 활동을 일시 중지했다가 다시 시작하고 화면을 일시 중지했다가 다시 시작합니다.

개인 MediaPlayer mp;

mp = MediaPlayer.create (MainActivity.this, R.raw.always_sunny); mp.setLooping (true); mp.start();

@Override 
protected void onPause() { 
    super.onPause(); 
    mp.getCurrentPosition(); 
    mp.pause(); 
} 

@Override 
protected void onResume() { 
    super.onResume(); 
    mp.seekTo(0); 
    mp.start(); 
} 
+0

음악과의 문제가 해결되지만, 새로운 문제가 있습니다. 나는 주 활동을 위해 세로 및 가로 레이아웃을 모두 사용하고 있습니다. 내 초상화와 풍경 레이아웃이 내 레이아웃의 ImageView 중 하나에 대해 두 개의 다른 이미지를 사용하도록 설정했습니다. 나에게 불행히도, android : configChanges = "orientation"은 화면이 세로에서 가로로 회전 할 때 이미지가 변경되는 것을 방지합니다. 그러면 화면 회전시 ImageView 이미지 소스를 어떻게 변경할 수 있습니까? 또한 메인 활동의 오디오 재생이 화면 회전시 다시 시작되지 않도록 할 수 있습니까? – kimbaudi

+0

AndroidManifest.xml에 android : configChanges = "orientation"을 유지할 수 있으며 장치가 세로/가로 모드에 있는지 프로그래밍 방식으로 확인하고 그런 식으로 이미지 소스를 설정할 수 있습니까? – kimbaudi

답변

3

는 매니페스트에 활동에 다음 특성을 추가 :이 활동이 방향 변경하거나 키보드가 나타납니다에서 다시 시작 것을 피할 것이다

android:configChanges="keyboardHidden|orientation|screenSize" 

.

회전의 변화 (예를 들어, 귀하의 경우 이미지 변경), 사용자의 작업에 다음과 같은 방법을 추가 할 때 당신은 무언가를해야하는 경우 : 지금

@Override 
public void onConfigurationChanged (Configuration newConfig) { 
    // Change here your image 
} 
+0

감사합니다. 방향 변경시 음악이 다시 시작되지 않습니다. 나는 투표 하겠지만 충분한 명성이 없습니다. – kimbaudi

+0

문제가 해결되었음을 알려드립니다. 유용하다면 녹색 체크 기호로 답을 수락 할 수 있다고 생각합니다. –

+0

불행히도, 화면에서 회전하는 세로 및 가로 이미지가 회전합니다. android : configChanges는 화면이 회전 할 때 음악이 멈추는 것을 방지합니다. 그러나 회전 할 때 이미지가 바뀌길 원합니다. 그것은 설정을 유지하고 내 주요 활동 자바 파일에서 imageview 이미지 소스를 변경하려고 노력하고 그것을 활성화 설정과 함께 작동하지 않았으므로 안드로이드 : configChanges 설정 외에 다른 해결책이 필요해 보인다. – kimbaudi

관련 문제