Разрядное смещение не решает проблемы высокоуровневого программирования, но просто мы иногда должны решать более низкие проблемы уровня, и удобно не должным быть записать отдельную библиотеку в C, чтобы сделать это. Именно тогда это привыкает, больше всего мое предположение.
я лично использовал его в записи кодера для преобразователь EBCDIC набора символов.
Невозможно сделать это во время записи - но во время воспроизведения вы можете использовать метод setVolume (float, float)
на MediaPlayer
.
У меня возникла эта проблема на Nexus One при использовании Froyo, когда AudioManager был установлен на MODE_IN_CALL. Попробуйте установить его на MODE_NORMAL. Это устранило проблему для меня.
AudioManager audioManager = (AudioManager)activity.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMode(AudioManager.MODE_NORMAL);