169 похожих чатов

Всем привет. Есть нативный метод для Андроида для перехода на

блютуз наушники.

public void setToBluetooth() {
audioManager.setMode(AudioManager.MODE_NORMAL);
audioManager.setBluetoothScoOn(true);
audioManager.setSpeakerphoneOn(false);
}

Звук идет, но при регулировании громкости звука ничего не меняется, громкость такая же как была изначально. Может кто знает как это решить?

14 ответов

76 просмотров

тебе нужно переключить на стрим AudioManager.STREAM_MUSIC и установить ему громкость, тогда кнопками можно будет регулировать громкость наушников

getStreamVolume и после setStreamVolume

Aidanka- Автор вопроса
whyamsx
тебе нужно переключить на стрим AudioManager.STREA...

так? public void setToBluetooth() { audioManager.setMode(AudioManager.MODE_NORMAL); audioManager.setBluetoothScoOn(true); audioManager.setSpeakerphoneOn(false); int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_LOWER, streamVolume); }

Aidanka
так? public void setToBluetooth() { audioManage...

вместо ADJUST_LOWER нужен streamVolume а вместо streamVolume оставь 0

Aidanka
так? public void setToBluetooth() { audioManage...

там в доке есть описание параметров, третий параметр это флаги которые не знаю нужны тебе или нет, реши сам, там перечислены все, прочитай о чем каждый, может пригодятся

Aidanka- Автор вопроса
whyamsx
вместо ADJUST_LOWER нужен streamVolume а вместо st...

int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC); audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, streamVolume, 0); звука нет вообще ((

Aidanka
int streamVolume = audioManager.getStreamVolume(Au...

может он изначально был на нуле и таким же передался?

Aidanka- Автор вопроса
whyamsx
может он изначально был на нуле и таким же передал...

возможно, но даже не регулируется слайдером

Aidanka
возможно, но даже не регулируется слайдером

по доке: не будет работать, если установлен режим "не беспокоить" и нет пермишенов на переключение разрешения также если сам девайс работает только с фиксированной громкостью без возможности регулирования, то этот метод тоже не будет работать

Aidanka
возможно, но даже не регулируется слайдером

проверить работает с фиксированной или нет можно методом isVolumeFixed (перед тем как сетить громкость)

Aidanka
возможно, но даже не регулируется слайдером

еще надо определить нужен ли стрим с музыкой, есть и другие стримы

также советую прочитать это и это

Aidanka- Автор вопроса
whyamsx
также советую прочитать это и это

Спасибо большое! 😌 Попробую)

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
9
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
Точно, оно. У тебя там имена потоков выставляются?
Александр (Rouse_) Багель
11
возможно ли как-то передать в электрон или таури медиа поток с рендера 2д движка? двиг запускается как dll, а дальше надо как-то отправлять рендер кодировать не подходит, зр...
Kyle Nekto
7
Помогите пожалуйста. Делаю систему плагинов. Проблема сейчас в такая: плагины загружаются в основном потоке. FLibHandle := SafeLoadLibrary(FFileName) Но нужно еще выполнить фу...
Илья 🤣
10
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
12
Карта сайта