1

私は WebView で Flash を再生します。アニメの音を消すことはできますか?

私のアクティビティでは音楽ファイルも再生できるので、次のように設定しました。

this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

なんか関係ある?

4

2 に答える 2

2

setStreamMute の代わりに setStreamVolume を使用して、ボリューム = 0 のミュートを解除するときにボリュームを最大に設定できるようにしました。

    /**
 * Set sound state
 * @param soundOn new sound state
 */
private void setSoundState(boolean soundOn) {
    // set sound param
    mGlobalData.SoundOn = soundOn;
    AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);

    if (soundOn) {
        // restore old volume
        int newVoume = mGlobalData.oldSoundVolume;

        if (newVoume == 0)
            newVoume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);

        mSoundIcon.setImageResource(R.drawable.sound_on);
        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,newVoume, 0);

        //mMediaPlayer.setVolume(0, 1);
    } else {
        mSoundIcon.setImageResource(R.drawable.sound_off);
        mGlobalData.oldSoundVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
        audioManager.setStreamVolume(AudioManager.STREAM_MUSIC,0, 0);
        //mMediaPlayer.setVolume(0, 0);
    }
}
于 2012-08-13T15:06:32.400 に答える
0

デバイスのストリームのサウンドをミュートしたい場合は、

public void setStreamMute (int streamType, boolean state)

例 :

myAudioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
于 2012-08-13T14:40:01.227 に答える