0

我想在我的应用程序中使用静音按钮,如下所示:

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" />

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

4

2 回答 2

1

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

而不是使用

mAudioManager.setRingerMode(AudioManager.RINGER_MODE_SILENT);

采用

mAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);

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

于 2013-01-27T11:19:25.663 回答
1

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

于 2013-01-27T11:37:23.037 回答