媒体播放器静音不会采取行动

时间:2013-01-27 10:59:19

标签: android android-mediaplayer

我想在我的应用程序中使用静音按钮:

ImageView muteMusic = (ImageView) findViewById(R.id.muteMusic);
    mAudioManager = (AudioManager) getSystemService(AUDIO_SERVICE);


public void mute(View v) {

    switch (mAudioManager.getRingerMode()) {
    case AudioManager.RINGER_MODE_NORMAL:
        mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);
        break;
    case AudioManager.RINGER_MODE_SILENT:
        mAudioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
        break;

    }
}

XML

<ImageView
            android:id="@+id/muteMusic"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="200dp"
            android:layout_marginTop="120dp"
            android:layout_toRightOf="@id/info"
            android:onClick="mute"
            android:src="@drawable/volbutton" />

但它不起作用,我不知道为什么!没有错误也没有崩溃!但是当我点击它时它不会做任何动作

2 个答案:

答案 0 :(得分:1)

问题在于您将 铃声 静音而不是音乐流。

而不是使用

mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

使用

mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);

有关如何在应用程序中管理有关释放资源的静音/取消静音的信息,请参阅API documentation

答案 1 :(得分:1)

您可以使用mediaPlayer.setVolume(0,0)