java - firebase mp3播放器中的暂停功能

标签 java android

我制作了 android 应用程序并将 android studio 连接到 Firebase 我检索了音频并放置了播放和暂停按钮,播放按钮可以正常工作,但如果我按下暂停按钮,则暂停功能不起作用,然后按钮播放双音频意味着覆盖功能正常工作,我的代码是:

play_song=(Button)findViewById(R.id.play_song);
play_song.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        final MediaPlayer mediaPlayer=new MediaPlayer();
        try {
            mediaPlayer.setDataSource("gs://myapplication-3a170.appspot.com/5946_download_nokia_tune_original_ringtone.mp3");
            mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                @Override
                public void onPrepared(MediaPlayer mp) {
                    if (mp.isPlaying()) {

                        mp.pause();
                    }else {
                        mp.start();
                    }

                }

                });
                mediaPlayer.prepare();
            } catch (IOException e) {
                e.printStackTrace();
            }
    }

});

最佳答案

您应该将 MediaPlayer 声明为全局变量。您正在为每个 onclick 创建一个新实例。出于这个原因,您每次点击都会再次播放音频。

关于java - firebase mp3播放器中的暂停功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55381975/

相关文章:

android - CSS 转换在 Android 中不起作用

android - 如何最大化 Android 小部件尺寸(宽度)?

android - InflateException 错误膨胀类 fragment

java - 为什么 StringBuffer 没有改变?

java - 将 key 字符串转换为 tozny/java-aes-crypto 中的 SecretKeys 对象

Android studio 2.2.2 使用 bintray 存储库将我的应用程序模块作为库发布到 jcenter

android - 我应该在公共(public) GitHub 存储库中包含 build.gradle 文件吗?

java - 为什么每次我们使用 new 关键字创建字符串时 jvm 都会创建新的字符串对象

Java动态添加按钮作为数组

java - 使用包含运算符的字符串作为 if 语句中的变量