android - 如何在一个 Activity 中停止音乐并在下一个 Activity 中开始另一音乐?

标签 android audio android-activity

从第一幕到第二幕时,我有3个 Activity 。当我从第二幕开始时,就会开始播放一首音乐。到第三幕,第二 Activity 的音乐应停止,第三 Activity 的音乐应开始。根据我的编码,第二 Activity 的音乐正在停止,但是第三 Activity 的音乐没有开始。我的代码如下:请帮助我。

//1st activity code start
public class MainActivity extends AppCompatActivity {
    Button b;
    static MediaPlayer mp;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    protected void onResume() {
        super.onResume();
        final MediaPlayer mp = MediaPlayer.create(this,R.raw.bakaratwozeroone);
        b = (Button) findViewById(R.id.butmove);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mp.start();
                startActivity(new Intent(MainActivity.this,Main2Activity.class));
            }
        });
    }
}
//1st activity code end

//2nd activity code start
public class Main2Activity extends AppCompatActivity {
    Button b;
    static MediaPlayer mp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);

    }



    @Override
    protected void onResume() {
        super.onResume();
        final MediaPlayer mp = MediaPlayer.create(this, R.raw.mumfive);
        b = (Button) findViewById(R.id.butmove2);
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                mp.start();


                startActivity(new Intent(Main2Activity.this, Main3Activity.class));
            }
        });
    }
        @Override
        protected void onPause() {
            super.onPause();
            if(mp !=null);
            mp.release();
            mp = null;

    }
}
//2nd activity code end

最佳答案

无需在每个 Activity 上保留MediaPlayer实例,使用BoundService运行媒体播放器并与Service和 Activity 进行通信。

供引用,请使用此链接

https://github.com/SimpleMobileTools/Simple-Music-Player

关于android - 如何在一个 Activity 中停止音乐并在下一个 Activity 中开始另一音乐?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50041506/

相关文章:

java按顺序播放声音

android - SmartTabLayout 厚度

Android 在按下主页按钮时恢复 UI 状态?

javascript - 随机化 html5 音频中的播放起点

java - 过滤 ListView 后位置错误

Android:即使 focusable=false,ExpandableListView 中的复选框也不会触发 onChildClick

android - 从 TextView 中的链接中删除下划线 - Android

java - 击打: "Trust anchor for certification path not found"

android - Firebase App Distribution - Google Play 窗口上没有 "install"按钮

python play生成声音准确剧情