当前位置: 首页 > 知识库问答 >
问题:

在活动之间保存mediaplayer状态

陶鸿畴
2023-03-14
public class Settings extends AppCompatActivity {
public MediaPlayer mp = null;
private SeekBar volumeSeekbar = null;
private AudioManager audioManager = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_settings);
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);
    setVolumeControlStream(AudioManager.STREAM_MUSIC);
    initControls();


    Button b = (Button) findViewById(R.id.toggleButton);
    b.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Spinner spinner = (Spinner) findViewById(R.id.spinner);
            String text = spinner.getSelectedItem().toString();
            if (mp == null) {
                int song = getResources().getIdentifier(text, "raw", "com.example.dan14.memorygame");
                mp = MediaPlayer.create(Settings.this, song);
                mp.start();
            } else {
                mp.stop();
                mp = null;
            }
        }
    });
}

共有1个答案

丘飞
2023-03-14

在我看来,您的代码至少在大部分时间都应该运行良好。

尝试public static MediaPlayer mp=null;

更新:通常情况下,当需要交互属性时,比如音乐播放,你应该尝试服务,一个重要的Android功能。至少你应该知道这件事并决定怎么做。这里有一个来自谷歌的全面教程。http://developer.android.com/guide/topics/media/mediaplayer.html

 类似资料:
  • 我有一个具有两个活动的Android应用程序 - 和。 当用户第一次打开应用程序时,它应该将他们带到,然后,他们应该登录并转到具有注销按钮的。 如果他们按下“注销”按钮,它应该再次返回到。如果他们按下后退按钮,它应该退出应用程序。当他们按下应用程序图标时,它应该直接将他们带到。 我对如何保存活动并在按下应用程序图标时返回该特定活动感到困惑。

  • 问题内容: 我在当前的项目中使用它来处理客户端身份验证等。当前它仅打印出客户端地址/端口,以便我可以检查一个TCP连接是否用于多个请求()或是否有新连接为每个请求建立(因此每次都会进行新的SSL握手)。当我使用FireFox对服务器发出多个请求时,我可以看到keep- alive正在运行。因此服务器部分可以很好地处理GET和POST请求。 如果我过去对服务器发出请求(在这种情况下, 不 使用SSL

  • 尽管我已经编写单元测试20多年了,但我对Gherkin还是新手,并且还被赋予了为一个。feature文件实现故事的任务,该文件可以简化为以下内容: 也就是说,一个很长很长的场景链,每个场景都依赖于由其前身配置的系统状态。 我在JavaScript中运行Cucumber。

  • 我正在创建一个客户端服务器应用程序。服务器已经设计好,等待从客户端连接。现在在客户机部分中,我希望在应用程序的整个生命周期中保持连接活动,并且只有当主客户机应用程序关闭或关闭或者服务器关闭它时,连接才会关闭。 在处理程序中我有:

  • 对于一些我们无法解决的问题,我想在Apache HttpClient 3.1上禁用keep alive。然而,我在互联网上找不到这方面的任何资源。你知道怎么做吗?

  • 嗨,我已经尝试了一些方法来有意地在活动之间移动浮动值,但它对我不起作用,因为值会重新启动。 我的代码: 第一项活动: 第二项活动: 浮点值始终为0,并且应用程序在“第二个活动”的第二行有编译错误。 感谢帮手们!