【问题标题】:how to set mute option in android music player with source code如何使用源代码在 android 音乐播放器中设置静音选项
【发布时间】:2012-06-06 16:02:31
【问题描述】:

如何通过源代码在 Android 音乐播放器中设置静音选项?请帮我。 这是我的代码。请检查它并给我你的想法。

    mute.setOnClickListener(new View.OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            if(mute.isPressed())

                //audioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

                mp.setVolume(0,0);

        else if(mute.isPressed())
                mp.setVolume(0, 1);
        }
    });     

【问题讨论】:

  • 在 if 语句和 else if 语句中不需要大括号,即 if(mute.isPressed()) { mp.setVolume(0,0);} ...?
  • 看看丹尼尔的评论,而且你正在检查 if 和 else if 中的相同条件。

标签: android mute


【解决方案1】:

看来你想试试

mute.setOnClickListener(new View.OnClickListener() {

    public void onClick(View v) {
        if(mute.isPressed()){
            mp.setVolume(0,0);
        }
        else if(!mute.isPressed()){
            mp.setVolume(0, 1);
        }
    }});

问题在于您没有正确的括号,并且您没有在 else if 语句中检查正确的表达式。让我们知道这对您有何帮助。

【讨论】:

  • 当我点击静音时,同样的问题正在再次工作,我该如何释放它。我再次按下意味着声音未启用。我声明任何变量?喜欢真假。
  • 那么,问题是您按下静音一次,音量按预期静音,但您再次按下静音,音量仍然静音?尝试使用setOnItemClickListener 而不是setOnClickListener。不确定这是否能解决您的问题,但值得一试。
【解决方案2】:
if(!mute.isPressed()) you forgot ! in else if .............


in both if it is mute.isPressed() ...........


and would be better 

    if(mute.isPressed()){
       mp.setVolume(0,0);
    }
    else{ 
      mp.setVolume(0, 1);
    }

因为 mute.isPressed() 如果不为真则为布尔值,因此无需检查它是否为假............

可以使用代码ImageView Button Toggle in Android

为你:

    final ImageView button01 = (ImageView) findViewById(R.id.button01);

    button01.setOnClickListener(new OnClickListener() {
        boolean isPressed = false;
        public void onClick(View v) {
            if (isPressed ) {
                //button01.setImageResource(R.drawable.image01);.
                 mp.setVolume(0,0);
            } else {
               //button01.setImageResource(R.drawable.image02);.
                 mp.setVolume(0,1);
            }
            isPressed = !isPressed ;
        }
    });

.................................................. ......................................

alternative answer :

让我们让它变得有趣:)

button01.setOnClickListener(new OnClickListener() {
        int state = 0;
         public void onClick(View v) {
             state = (state+1)%2;
             mp.setVolume(0,state);
        }
    });

看起来不错?

【讨论】:

  • 静音是图像按钮,按下意味着音量静音,我怎样才能再次释放按钮?它再次我被点击而不是释放请帮助。
  • 主要有各种逻辑。比如 1- 每次在 onClick 上 mute.setTag("true")/mute.setTag("false") 切换标签 2- 保持一个布尔值并在 onClick 中切换 3- 获取当前显示静音或取消静音的图像。 ........
  • 使用自定义切换按钮stackoverflow.com/questions/1533038/…
  • 当我点击静音时,同样的问题正在再次工作,我该如何释放它。我再次按下意味着声音未启用。我声明任何变量?喜欢真假。
  • 是的,因为在您的代码中它永远不会进入 else if(mute.isPressed()),因为 first/main if 与 if(mute.isPressed()) 相同,所以它会进入首先,如果或不会进入任何......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-17
  • 1970-01-01
相关资源
最近更新 更多