Как сделать чтобы звук шел в наушники а не в динамики
Перейти к содержимому

Как сделать чтобы звук шел в наушники а не в динамики

  • автор:

Как вывести звук с наушников и колонок но чтобы активным был только одно устройство (Порт)?

Имеется обычная звуковая карта Realtek ALC892.
Я хочу подключить и колонки и наушники к заднему входу компьютера одновременно, но чтобы звук шел только с одного устройства, которое я выберу в системе (Чтобы каждый раз не лазить и не переподключать)
Что для этого нужно?
Что я уже попробовал:
1. Подключить наушники в зеленый вход, а колонки в синий, звук стал идти и с колонок и наушников одновременно, я же хочу их разделить (В винде это идет как одно устройство, думаю причина в этом)
2. Подключал так же в два порта, но в панеле колонки выбирал как линейное устройство когда они мне нужны (Звука не было в колонках но был в наушниках) но видимо из-за этого в наушниках были какие то помехи из-за этого.

В панеле realtek HD audio вообще нельзя отключать временно какой то порт, а мне бы это пригодилось при подключении в синий разъем, но мне кажется так вообще делать не стоит.
Думал купить разветвитель 3.5,но не уверен будет ли он нормально работать (Без помех, с такой же силой звука и тд), но это мне не даст разделения устройств в винде на уши и на колонки. В передний порт я подключать ниче не хочу.
Вариантов больше нет? Кроме покупки отдельной звуковой карты

  • Вопрос задан 30 дек. 2022
  • 481 просмотр

Комментировать
Решения вопроса 2
Stalker_RED @Stalker_RED

kak-pereklyuchit-zvuk-na-naushniki.png

Вообще переключение вывода — штатная функция, и если у вас все в порядке с драйверами, и устройства вывода нормально определились, то можно переключать прямо с панели в два клика

Если устройства вывода не определяются, драйвера глючные, и вообще все плохо — можно коммутировать звук программно, при помощи чего-то вроде virtual audio cable, хотя там тоже не очень просто разобраться.

Ну и последний вариант — переключать железякой.

Ответ написан 30 дек. 2022
Нравится 2 1 комментарий

godsplane

godsplane @godsplane Автор вопроса
Ну вот у вас второй вход это какого цвета разъем?Или у вас разные звуковухи?
alexalexes @alexalexes

Вам нужна отдельная звуковая карта (можно USB), так как переназначение функций на гнездах одной звуковой карты предназначено, чтобы расширить кол-во динамиков — от стерео до 5.1 или 7.1. Можно, конечно, переназначать линейный и микрофонный вход, но при активации они будут иметь другие электрические характеристики, что будет вносить помехи.
Как вариант, можно пожертвовать выводом звука на переднюю панель и вывести звук из разъема F_AUDIO материнской платы на самодельную панель на месте PCI слота на корпусе (софт позволяет выключать звук на задней и передней панеле). Для этого вам нужно на барахолке отыскать PCI косичку jack 3.5 (от компов времен Pentium или Pentium II) либо самому изготовить такую косичку из PCI заглушки и запчастей вывода звука на переднюю панель.

Ответ написан 30 дек. 2022
Нравится 1 3 комментария

Aetae

Помнится в древние времена у меня была звуковуха, для которой энтузиасты писали свои дрова и использовали микрофонный вход как выход, т.к. так качество лучше было.)
Так что, думается, вопрос возможности продвинутой работы с портами зависит от конкретной звуковухи.

godsplane

godsplane @godsplane Автор вопроса

Но синий вход на моей звуковой карте разве не просто доп. вход для ушей, а не для расширения?Там вообще очень много входов.

alexalexes @alexalexes

Синий вход — это для записи сигнала не требующего предварительного усиления. Например, можно взять условный старый кассетный плеер и подцепить его к линейному входу, чтобы оцифровать аудиокассету.

При входящем звонке звук идёт и в наушники, и в динамики

Samsung i9192, Android 4.2.2, стандартная прошивка, есть root. При подключённых проводных наушниках при входящем вызове звук рингтона также идёт на динамики. Хочу, чтобы при воткнутых наушниках все звуки шли только на наушники. Как это сделать?

gentoo_root ★★★★★
25.08.13 03:00:10 MSK

На динамики звук идти и не должен. Прошивку в студию.

ArtKun ★★★★★
( 25.08.13 04:09:22 MSK )

На всех виденных мной Android’офонах всегда звук шёл и туда, и сюда. Помнится, на стареньком SE K610i политика звуковых оповещений менялась сменой звукового профиля. Возможно, и на Android’е так же. Проверьте.

carasin ★★★★★
( 25.08.13 10:33:55 MSK )
Ответ на: комментарий от ArtKun 25.08.13 04:09:22 MSK

На динамики звук идти и не должен.

Именно на этом телефоне?

Прошивка стандартная от самсунга, версия I9192XXUAMF9, уже была на телефоне при покупке. От стандартной отличается только тем, что я прошил CWM recovery для получения рута (прошивал из heimdall), но это ведь не должно влиять на нормальную работу.

gentoo_root ★★★★★
( 25.08.13 13:22:17 MSK ) автор топика
Ответ на: комментарий от carasin 25.08.13 10:33:55 MSK

Помнится, на стареньком SE K610i политика звуковых оповещений менялась сменой звукового профиля. Возможно, и на Android’е так же. Проверьте.

На убогом андроиде нет профилей, как были на старых обычных телефонах.

gentoo_root ★★★★★
( 25.08.13 13:24:09 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 13:24:09 MSK

Они там есть, так что кто убогий — это вопрос

Dantix ★★
( 25.08.13 13:26:48 MSK )
Ответ на: комментарий от Dantix 25.08.13 13:26:48 MSK

Они там есть, так что кто убогий — это вопрос

В каком месте? На моём телефоне ничего такого нет.

gentoo_root ★★★★★
( 25.08.13 14:13:23 MSK ) автор топика

выкинь яблоконаушники и/или поставь приличную прошивку, вместо того, что ты накатил недавно@тред ничитал, вангую

sudoer
( 25.08.13 14:17:30 MSK )
Ответ на: комментарий от sudoer 25.08.13 14:17:30 MSK

Мимо, попробовал все наушники, которые у меня были.

поставь приличную прошивку, вместо того, что ты накатил недавно

Ничего не накатывал, стоит стандартная, которая была при покупке.

gentoo_root ★★★★★
( 25.08.13 14:27:58 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 14:27:58 MSK
sudoer
( 25.08.13 14:30:31 MSK )

Кажется, нашёл нужное место в исходниках (строка 722):

Если бы там вместо этого:

 on ? ROUTE_HEADSET | ROUTE_SPEAKER : ROUTE_SPEAKER, ROUTE_ALL & ~ROUTE_BLUETOOTH_A2DP); 
 on ? ROUTE_HEADSET : ROUTE_SPEAKER, ROUTE_ALL & ~ROUTE_BLUETOOTH_A2DP); 

то всё работало бы, как надо. Теперь остаётся вопрос, как вызвать настоящую функцию setRouting из приложения для android. AudioManager.setRouting не работает, она deprecated и пустая:

gentoo_root ★★★★★
( 25.08.13 14:33:43 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 14:33:43 MSK

Костыльное решение, которое я вижу: повесить BroadcastReceiver на TelephonyManager.ACTION_PHONE_STATE_CHANGED, и когда телефон начнёт звонить, сделать:

AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE); audioManager.setMode(AudioManager.MODE_NORMAL); 

Должно сработать, сейчас проверю, если не сработает — напишу.

gentoo_root ★★★★★
( 25.08.13 14:44:19 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 14:44:19 MSK

Удивительно, но не сработало, хотя если я ставлю MODE_IN_CALL, то рингтон идёт через маленький разговорный динамик. Буду придумывать костыли дальше.

gentoo_root ★★★★★
( 25.08.13 14:51:08 MSK ) автор топика

Все телефоны, которые у меня были, вели себя точно так же.

f1xmAn ★★★★★
( 25.08.13 14:56:35 MSK )
Ответ на: комментарий от f1xmAn 25.08.13 14:56:35 MSK

Все телефоны, которые у меня были, вели себя точно так же.

Моя старая нокия так себя не вела, и мне нужно, чтобы звук не шёл в динамики при воткнутых наушниках вообще. Я могу находиться в месте, где громкий звонок недопустим, а тихо поговорить через наушники можно. И вообще, если я в наушниках, ни к чему этот звонок через динамики, который мне всё равно не нужен, зато его слышат окружающие.

Но самая главная причина — я хочу, чтобы при воткнутых наушниках озвучивалось имя звонящего (телефон в кармане, хочу не доставать его), а без наушников — не озвучивалось (всё равно телефон нужно взять, тогда и посмотрю, а ещё окружающие не должны слышать имя звонящего). Я начал писать такую программу (те озвучивалки, что в маркете, не умеют различать состояние наушников и не подходят по другим причинам) и столкнулся с кучей проблем, связанных с реализацией звука в андроиде. А потом вообще оказалось, что рингтон всегда идёт на динамик, поэтому моя изначальная затея неосуществима, если не исправить это.

gentoo_root ★★★★★
( 25.08.13 15:11:47 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 15:11:47 MSK

Моя старая нокия так себя не вела

А моя 5530 вела. В любом случае, желаю чтобы твой патч приняли в апстрим. На мой дилетанский взгляд, при запуске твоего приложения можно отключить звук звонка вообще (когда подключены наушники) и во время звонка просто воспроизводить мелодию звонка через наушники, как обычный плеер, а при отключении наушников возвращать все в зад. Не придется бодаться с разработчиками, что, как мне кажется, большой плюс — недавно отправил патч в Apache Commons Lang, но когда его увидят и примут ли вообще — большой вопрос. =/

f1xmAn ★★★★★
( 25.08.13 15:17:58 MSK )
Ответ на: комментарий от f1xmAn 25.08.13 15:17:58 MSK

В любом случае, желаю чтобы твой патч приняли в апстрим.

Я сейчас поискал ещё немного, и кажется, что это был кусок кода из старого андроида, а в новом аналогичный кусок находится где-то среди нативного кода, я ещё не нашёл, где. И я всё-таки предпочёл бы решение, в котором исходники андроида не нужно было бы менять. Тем более, что если они так сделали, то они хотят именно этого поведения, патч, изменяющий его, не примут.

На мой дилетанский взгляд, при запуске твоего приложения можно отключить звук звонка вообще (когда подключены наушники) и во время звонка просто воспроизводить мелодию звонка через наушники, как обычный плеер, а при отключении наушников возвращать все в зад.

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

gentoo_root ★★★★★
( 25.08.13 16:13:52 MSK ) автор топика
Ответ на: комментарий от gentoo_root 25.08.13 16:13:52 MSK

В андроиде нету Listener’ов на изменение профилей звука? Ну, на входящий звонок-то наверняка есть Listener, т.ч. можно вырубать звук как раз при получении необходимого event’а.

f1xmAn ★★★★★
( 25.08.13 21:06:43 MSK )
Ответ на: комментарий от f1xmAn 25.08.13 21:06:43 MSK

Ну, на входящий звонок-то наверняка есть Listener, т.ч. можно вырубать звук как раз при получении необходимого event’а.

Входящий звонок отловить очень легко, я это уже делаю, так что, в принципе, не вижу пока препятствий, чтобы сделать так, хоть это и не очень гладкое решение.

Ещё узнал, что в cyanogenmod можно настроить поведение при звонке (можно включить или выключить звук через динамики при воткнутых наушниках), пытаюсь понять, как оно там работает, увидел, что настройка хранится в свойстве persist.sys.ring-speaker, но пока что не нашёл, где оно читается и используется.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *