Android:在新 Activity 上暂停和重新启动音频,但在屏幕旋转时暂停和恢复

标签 android audio rotation restart

我有一个 Android 应用程序,在我的主要 Activity 中,我可以在 onCreate() 上播放音乐,在 Pause() 上暂停音乐并在 Resume() 上重新启动音乐。我正在使用媒体播放器。问题是当我在主要 Activity 中旋转屏幕时,我不希望音乐重新启动 onResume() 。当我从另一个 Activity 返回到我的主要 Activity 时,我只希望音乐重新开始。有什么建议吗?

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

最佳答案

将以下属性添加到 list 中的 Activity :

android:configChanges="keyboardHidden|orientation|screenSize"

这将避免 Activity 在方向更改或键盘出现时重新启动。

如果您需要在旋转发生变化时执行某些操作(例如,在您的案例中更改图像),请将以下方法添加到您的 Activity 中:

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

关于Android:在新 Activity 上暂停和重新启动音频,但在屏幕旋转时暂停和恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10964407/

相关文章:

java - 安卓 : Could not GET/Find get repos from bintray. com

windows - 在控制面板 -> 声音中添加我自己的应用程序事件

javascript - 如何嵌入音频

javascript - 三JS : Getting the rotation so one vector3 will face another vector3

opengl - glRotatef 无法正常工作

android - 伪元素:after disapears on chrome mobile

java - 在不同的文件类 java Android 中调用 EditText 值

python - 为什么 PyAudio 在一个模块中工作而不在另一个模块中工作?

CSS 媒体查询不会随设备旋转而改变

android - 为什么 Android Studio 创建的 APK 比 Eclipse 创建的 APK 大?