Вам нужно переместить следующий блок из вашего проекта build.gradle:
dependencies {
compile 'com.kontaktio:sdk:3.0.2'
}
packagingOptions {
exclude 'main/AndroidManifest.xml'
}
в ваш модуль build.gradle (обычно приложение ) модуль).
ваш проект build.gradle блок зависимостей должен использовать classpath
вместо compile
. Ваш проект build.gradle должен выглядеть примерно так:
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Пожалуйста, посмотрите . Настройте вашу сборку для более подробной информации.
In Windows Vista and beyond, you can use the device arrival and removal notifications and retrieve the endpoint formfactor to determine if the manufacturer of your audio solution considers a particular endpoint a "headphone".
Before Vista there was no way of determining this information.
Многие аудиокодеки обеспечивают «обнаружение разъема», это, вероятно, термин, который вам нужно погуглить.
Похоже, что под Vista вы можете использовать IMMDeviceEnumerator :: GetDefaultAudioEndpoint () и IMMDevice :: GetState () для проверки состояния «конечной точки». Также имеется 'IKsJackDescription Interface' .
В XP вы можете попробовать 'waveInGetNumDevs' - драйвер может сообщать 0, пока наушники не подключены. См. Комментарии в это обсуждение для получения дополнительной информации.
Я думаю, вы не можете предложить универсального решения.
Я также указываю на решение nray. Большинство звуковых карт Realtek, особенно Realtek на материнских платах Intel, имеют эту функцию. Но в этом случае оборудование не «стандартное». Другими словами, в этих звуковых картах должен быть специальный механизм для обнаружения изменения сопротивления в узлах выходных сокетов и «Срабатывания события»
. Если у вас есть такая звуковая карта +, вам просто нужна рабочая, но не идеальное решение, просто измените процедуру, которая вызывает программу настройки. (Программа для включения / выключения звука). Затем замените программу configurer (вы можете найти ее с помощью проводника процессов) своей новой утилитой.
NB Я не на 100% уверен, можем ли мы четко идентифицировать плагин - отключение.
Это возможно - RealTek имеет утилиту в системном трее, которая всплывает раздражающим полезная утилита для настройки звука всякий раз, когда вы подключаете что-либо к гнезду микрофона, возможно, гнездо для наушников аналогично.
Нет, если ваша звуковая карта не поддерживает его, что сомнительно.
Вполне возможно, что в некоторых звуковых картах есть микропереключатель для обнаружения когда подключены наушники, или что они могут измерить сопротивление сигнала, чтобы узнать, когда цепь замкнута. Я не встречал этого ни на одной дешевой звуковой карте.
Теперь, если у вас есть разъем, который используется совместно с микрофоном (например, гарнитура), вы можете обнаружить "хлопок" на канале микрофона, но Рискну предположить, что это все равно будет довольно ненадежным. Ты бы не стал