На момент написания статьи на русскоязычных сайтах ничего не было. Нашёл только на каком-то отдалённом заморском форуме, и то прописано было не полностью, пришлось самому доводить до ума.
Итак, приступим.
Необходимо зайти в папочку, где установлен Qt. Вот тут внимательно: не SDK, не где складируются откомпиленые проги, а именно сам Qt.
Там заходим в папочку 5.Х.Х (Где Х — это номер версии, у меня 5.2.1). Здесь заходим в папку где указано имя собирателя, которым вы пользуетесь для Android (у меня это android_armv7), а далее проходим следующий путь вложенных папок: \src\android\java\src\org\qtproject\qt5\android\bindings\
Вот мы и на месте. В папке открываем на редактирование файл QtActivity.java.
После строки:
import java.io.DataInputStream;
Примерно 36-я строка, вставляем следующий код:
import java.io.DataInputStream;
После строки:
import android.graphics.Canvas;
Примерно 62-я строка, вставляем следующий код:
import android.media.AudioManager;
Далее, где объявляются разные объекты (я это сделал в 112 строке), необходимо вставить следующий код:
private AudioManager audio;
И напоследок, находите в коде функцию onKeyDown и в её начале вставляете код:
switch (keyCode)
{
case KeyEvent.KEYCODE_VOLUME_UP:
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
}
Это, по моему, единственный кусок, взятый из статьи на форуме.
В общем итоге функция будет иметь следующий вид:
public boolean onKeyDown(int keyCode, KeyEvent event)
{
switch (keyCode)
{
case KeyEvent.KEYCODE_VOLUME_UP:
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
audio.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
return true;
}
if (QtApplication.m_delegateObject != null && QtApplication.onKeyDown != null)
return (Boolean) QtApplication.invokeDelegateMethod(QtApplication.onKeyDown, keyCode, event);
else
return super.onKeyDown(keyCode, event);
}
Ну, вот и все. Теперь пересоберите свои проекты для Android и радуйтесь отображению диалога уровня звука при его регулировке.
На всякий случай привожу ссылку на форум, где это было найдено. Всё работает, проверено.
В следующий раз напишу про Манифест.
Recommended article: Chomsky: We Are All – Fill in the Blank.
This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий