请检查我的代码。我的音乐会重新开始,而不是从哪里重新开始 它被留下了。也请给出解决方案。 我的要求:当按下主页按钮时音乐应该暂停,并且应该从最近的动作重力列表打开它时它从关闭的位置再次开始。
package com.example.android.mediaplayerdemonstration;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
public class MainActivity extends AppCompatActivity {
@Override
protected void onPause() {
super.onPause();
if (mySound != null)
mySound.pause();
}
@Override
protected void onResume() {
super.onResume();
if(mySound != null)
mySound.start();
}
MediaPlayer mySound;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mySound = MediaPlayer.create(MainActivity.this,R.raw.sleep);
mySound.start();
mySound.setLooping(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
答案 0 :(得分:0)
我无法发表评论,所以我会在回答这个问题。您的代码没有任何问题,对我来说运行正常。
尝试覆盖void transform(int *dst, const int *src, size_t len, int (*f)(int))
{
for (size_t i = 0; i < len; ++i)
dst[i] = f(src[i]);
}
以检查当您按下主页按钮时或在其他时间调用它时。
onStop()
如果优先级较高的应用需要内存,则会调用 @override
protected void onStop(){
super.onStop();
Log.v("test", "stopped");
}
。 https://developer.android.com/guide/components/activities.html#Lifecycle
如果您真的需要该应用始终记住onStop()
暂停的时间,可以将其保存在文件或MediaPlayer
中。