【问题标题】:The audio volume is zero?音量为零?
【发布时间】:2015-11-07 23:41:55
【问题描述】:

我有一个带有静音按钮的应用程序。我已经被困在这四个半小时了,所以我很绝望。我试图在用户单击 mute 时将音量静音,并在用户再次单击时取消静音。这工作正常,除了音频没有播放。由于某种原因,Stream_Music 为 0?

 public void mute(View view) {
        mutebutton = (ImageButton) findViewById(R.id.mutebutton);

        if ((variableForMute.x % 2) != 0) { //If it's odd UNMUTE
            Log.v(TAG, "Use this volume to unmute " +userVolumeOnStart.userVolume +"");
            Toast.makeText(Main_Menu.this, "UNMUTED", Toast.LENGTH_SHORT).show();
            mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, userVolumeOnStart.userVolume, 0);
            variableForMute.x++;


        } else { //If its even MUTE
            userVolumeOnStart.userVolume = mAudioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
            Log.v(TAG, "Right Before Mute " +userVolumeOnStart.userVolume +"");
            mAudioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, 0);
            Toast.makeText(Main_Menu.this, "MUTED", Toast.LENGTH_SHORT).show();
            variableForMute.x++;
        }
    }

这是我声明变量和对象的开始:

ImageButton leftcenter;
ImageButton mutebutton;
final String TAG = "userVolume";
private AudioManager mAudioManager;



@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main__menu);
    mAudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);

    leftcenter = (ImageButton) findViewById(R.id.startGame);


}

问题是,作为日志输出,我得到以下信息:

我应该将音量更改为启动应用程序之前的音量。我希望能够让用户将应用程序取消静音到用户最初使用的相同音量。但由于某种原因,它总是 0!?为什么会这样?我的手机音量已满?!

请帮忙,

我在这方面花费了太多时间——感谢所有反馈: 积极的,消极的,中立的,随便什么。

【问题讨论】:

  • android 上有几卷。您可能认为音量已满,但只有铃声音量处于该级别,并且音乐处于静音状态。
  • @njzk2 那我应该如何取消静音呢?
  • 将其设为非 0 的值?
  • @njzk2 它没有设置为 0...你在哪里看到的?
  • @njzk2 是的,这就是问题所在。我设法通过将 STREAM_MUSIC 更改为 STREAM_RING 来解决这个问题。由于某种原因,现在没有播放音频?当我更改音量时,日志现在正在工作。但音频只是一般不播放。

标签: java android xml optimization android-manifest


【解决方案1】:

我发现了问题。我把STRAM_MUSIC改成了STREAM_RING,变量userVolumeOnStart.userVolume改成功了!

【讨论】:

    【解决方案2】:

    btn_mute.setOnCheckedChangeListener(new OnCheckedChangeListener() {

            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                // TODO Auto-generated method stub
                AudioManager audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
                if(isChecked) {
                    btn_mute.setBackgroundResource(R.drawable.mute_bt);
                    audio.setStreamMute(AudioManager.STREAM_MUSIC, true);
                } else {
                    btn_mute.setBackgroundResource(R.drawable.volume_bt);
                    audio.setStreamMute(AudioManager.STREAM_MUSIC, false);
                }
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 1970-01-01
      • 2012-02-26
      相关资源
      最近更新 更多