【问题标题】:Simple mute issue?简单的静音问题?
【发布时间】:2015-11-09 06:36:21
【问题描述】:

我正在制作一个具有静音和取消静音功能的应用。问题是,当我按下静音时,铃声成功静音,但来自MediaPlayer 的音频仍在播放。顺便说一句:音频正在 b 后台的服务中播放,我正在将 设备 从另一个活动中静音,以阻止该 音频 播放。我已经尝试多次更改流,但它仍然不会静音。我还尝试在清单中添加许多权限以使其正常工作,但没有运气...

这里是代码,不用担心我的全局变量。 x,它只是一个控制是否调用静音/取消静音的计数器:

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

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


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

这是清单的屏幕截图:

非常感谢您帮助我解决这个有趣的问题。这很有趣,因为在尝试了这么多不同的方式来做同样的事情后,这个问题仍然存在。例如,使用官方静音方法(audioManager.RINGER_MODE_SILENT),手动将音量设置为零(AudioManager.STREAM_RING, 0, 0),在清单中添加权限等。您会注意到我的代码中有很多 cmets,这是来自我的一些我在解决这个问题时所做的其他(很多!)尝试。

注意: 当我使用静音按钮降低音量并以这种方式静音时,音频确实成功静音,但我的手机顶部通知栏没有静音小图标。否则,使用静音按钮时,我会看到静音图标并且它没有成功静音。

谢谢,如果您需要任何其他信息,请告诉我,希望我提供了足够的信息!

【问题讨论】:

  • 当您的音乐在STREAM_MUSIC 上播放时,您为什么要静音STREAM_RING

标签: java android multithreading user-interface audio


【解决方案1】:

MediaPlayer mp = MediaPlayer.create(context, R.raw.sound_file_1); mp.start();

静音

mp.setVolume(0,0);

& 取消静音或全音量

mp.setVolume(1,1);

【讨论】:

  • 我无法解析方法 setVolume(int, int)。我怎样才能解决这个问题?谢谢!
  • public void setVolume (float leftVolume, float rightVolume) 在 API 级别 1 中添加 设置此播放器的音量。建议使用此 API 来平衡应用程序中的音频流输出。除非您正在编写应用程序来控制用户设置,否则应优先使用此 API,而不是 setStreamVolume(int, int, int) 设置特定类型的所有流的音量。请注意,传递的音量值是 0.0 到 1.0 范围内的原始标量。 UI 控件应按对数方式缩放。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-10
  • 2011-10-31
  • 2011-01-29
  • 2018-03-07
  • 2011-10-30
相关资源
最近更新 更多