Перейти к содержимому

Как вывести звук на dualshock 4

  • автор:

Проигрываем звук на DualShock4 с компьютера


Выбирая геймпад для своего компьютера, я остановился на DualShock4, так как мне понравилась идея, что можно будет слушать аудио через подключаемые к нему наушники. Но после покупки я узнал, что, оказывается, никто не знает, как передать звук на геймпад через Bluetooth. Поэтому я решил разобраться с данным вопросом. Если вам интересно узнать, как DualShock4 общается с игровой консолью, жду под катом.

К сожалению, у меня нет PlayStation 4, поэтому пришлось довольствоваться только выложенными в Интернете дампами, а также уже известными фрагментами обмена.
В процессе изучения темы мне очень помогла вот эта страница. В ней описаны основные моменты передачи данных между консолью и геймпадом, а также выложен дамп этих данных. Нас интересует файл дампа с именем ds4_uart_hci_cap_playroom_needs_sorting.pcap.gz. Открываем его в Wireshark и начинаем изучать. Отсортируем пакеты по времени, так как, видимо, дамп записывался отдельно на приём и передачу. Дамп снимался напрямую с UART геймпада, после чего был сконвертирован в pcap.

В начале идёт настройка самого модуля Bluetooth. Далее, с №49-го по №163-й пакет, идёт установка соединения и настройка канала передачи. Очень хорошо этот процесс описан в статье Беспроводной звук. Часть 1. Препарируем Bluetooth.
Но для нашей задачи это неособо важно.

После всех «подготовительных работ» геймпад начинает отправлять HID Report. Формат сообщения описан на вики странице. Первый пакет с данными от консоли — это пакет №70181. Давайте разберём его, пользуясь данными с вики страницы.
Нас интересуют только данные, которые передаются через HID Profile.
Вот его содержание.

Номер байта bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0
[0] 0x0a – Тип Data 0x00 — Зарезервировано 0x02 — Направление передачи
[1] 0x11 – Код операции
[2 — 3] Неизвестно
[4] 0xf0 Запрещает изменение данных у геймпада, 0xf3 Разрешает изменение
[5 — 6] Неизвестно
[7] Rumble (right / weak)
[8] Rumble (left / strong)
[9] RGB color (Red)
[10] RGB color (Green)
[11] RGB color (Blue)
[12-24] Неизвестно
[25] Громкость звучания в %
[26 — 74] Неизвестно
[75 — 78] CRC-32 от предыдущих данных

Хотя 26 байт помечен на упомянутой выше странице как неизвестный, во время моих экспериментов удалось выяснить, что он отвечает за громкость звучания и выставляется в процентах. Также хотя поле crc присутствует, но геймпад его не проверяет и можно просто отправлять нулевое значение.

Так как нам интересно, какие данные передаёт консоль, давайте отфильтруем их по 0-му байту HID Profile, который поможет нам определить направление пакета. Данные от гемпада имеют значение 0xa1, от консоли 0xa2. Фильтр для Wireshark получится таким: bthid[0] == 0xa2.

Если прокрутить пакеты, то, начиная с пакета №98516, сильно увеличился размер данных. Если судить по данным с вики страницы, то начало у пакетов с кодом операции 0x15 и 0x19 такое же, как и у 0x11, только без CRC, которая находится в конце.

Всё есть HID

Вот мы и подошли к самому интересному — как передать звук на геймпад. Вот как выглядит пакет с аудиоданными.

Если внимательно посмотреть на пакеты с кодами операции 0x14, 0x15, 0x17, 0x19, то заметно некое постоянство, а именно идущие подряд байты 0x9c, 0x75, 0x19. Это очень похоже на Bluetooth SBC header ( SBC — это один из стандартных кодеков для передачи аудио по Bluetooth). И хотя для передачи SBC по Bluetooth есть стандарт A2DP, создатели PS4 решили пойти по своему пути и передавать звук прямо в HID сообщениях. Также если посмотреть пакеты дальше то видно, что также меняются два байта перед Bluetooth SBC header, это счётчик фреймов. Давайте проверим наше предположение, что это стандартный SBC кодек. Для этого воспользуемся следующим скриптом на Python.

Скрипт работает следующим образом: открываем дамп, кладем все пакеты в список, после чего сортируем по времени. Затем проходим по порядку все пакеты, доставая аудиоданные из сообщений с кодом операции 0x19,0x17,0x15 и 0x14 и записывая их в файл.

Теперь попробуем воспроизвести получившийся файл, для чего воспользуемся gstreamer’ом:

gst-launch-1.0 filesrc location=test.sbc ! sbcparse ! sbcdec ! autoaudiosink

В начале файла будет тишина (это видно и по сохраненным данным). Для удобства преобразуем данные в wav:

gst-launch-1.0 filesrc location=test.sbc ! sbcparse ! sbcdec ! audioconvert ! wavenc ! filesink location=output.wav

Еесли перемотать на 41 секунду получившийся wav, мы услышим звук.
Таким образом, мы удостоверились, что DualShock4 использует обычное SBC кодирование для передачи звука.

Теперь интересно попробовать самим сгенерировать данные для воспроизведения на геймпаде.
Воспользуемся для этого всё теми же инструментами. Gstreamer будет кодировать, а Python будет будет передавать данные на DualShock4.
В Linux можно очень просто работать с геймпадом благодаря тому, что в нём всё (включая устройства) является файлами.
Узнать, какой файл соответствует геймпаду, можно после сопряжения DualShock4 с компьютером. В результате удачного сопряжения в выводе dmesg появится строка
sony 0005:054C:05C4.0007: input,hidraw5: BLUETOOTH HID v1.00 Gamepad [Wireless Controller]
Значит, наш контроллер присутствует в системе в виде файла с именем /dev/hidraw5, и мы можем передавать данные на геймпад, просто записывая необходимые данные в этот файл.
Вот скрипт, с помощью которого это можно делать:

Скрипт читает из стандартного потока закодированные в SBC аудиоданные и формирует два типа пакетов 0x14 и 0x15 (также комментированием/раскомментированием строк можно включить формирование увеличенного в два раза пакета с опкодом 0x17) и отправляет их на геймпад путем записи в hidraw девайс.
Попробуем использовать этот скрипт, чтобы проиграть тестовый звуковой сигнал.
Данный сигнал будет генерироваться при помощи gstreamer и отправляться на стандартный поток вывода, откуда его будет забирать скрипт.

gst-launch-1.0 -q audiotestsrc is-live=true ! sbcenc ! ‘audio/x-sbc,channels=2,rate=32000,channel-mode=dual,blocks=16,subbands=8,bitpool=25’ ! queue ! fdsink | ./play.py

И у нас получилось (почти). Звук идет, но периодически слышны небольшие заикания. С чем они связаны, я понять так и не смог. Возможно, я не совсем правильно работаю с hid устройством в linux — если кто-нибудь сможет подсказать, как сделать правильнее, я буду благодарен. Попытка испопользования Bluetooth сокета успехом также не увенчалась — через полсекунды проигрывания звука всё заканчивалось(Смотри UPD).

Заключение

Хотелось бы выразить благодарность таким проектам, как DS4Windows и ds4drv.
Данные проекты позволяют использовать геймпад на компьютере. Надеюсь, эта статья поможет добавить также и поддержку передачи звука в эти проекты.

Спасибо за внимание.

UPD:
Небольшие дополнение.
Если добавить is-live=true к audiotestsrc то звук идет почти без заиканий.
Вот полезный pipeline для gstreamer который позволяет захватывать все, что идет на аудио выход и отправлять на DualShock4.

Что делать, если не работает звук на копии DS4 при подключении через Bluetooth

Если у вас есть копия контроллера DualShock 4, вы, возможно, столкнулись с проблемой отсутствия звука при подключении к ПК или ноутбуку через Bluetooth. Эта проблема может быть связана с несколькими факторами, такими как ошибки подключения, оборудование или настройки программного обеспечения. В этой статье мы рассмотрим, что можно сделать, чтобы устранить эту проблему.

Шаг 1: Перезагрузка контроллера DualShock 4

Перезагрузка контроллера DualShock 4 может помочь решить проблему со звуком. Для этого нажмите кнопку "Reset" (сброс) на задней панели контроллера с помощью иголки или другого острого предмета. После сброса повторно подключите контроллер к ПК или ноутбуку через Bluetooth и проверьте, будет ли работать звук.

Шаг 2: Проверьте настройки звука на ПК

Если звук на вашем компьютере не работает только при подключении контроллера DualShock 4 через Bluetooth, проблема может быть связана с настройками звука на вашем компьютере. Убедитесь, что настройки звука установлены на Bluetooth-устройство. Для этого зайдите в настройки звука на вашем ПК и выберите "Bluetooth-устройство" в качестве устройства воспроизведения звука.

Шаг 3: Обновите драйверы Bluetooth

Ваша проблема со звуком может быть связана с устаревшими драйверами Bluetooth. Обновите драйверы Bluetooth на вашем ПК или ноутбуке, чтобы убедиться, что все необходимые драйверы установлены и работают правильно. Вы можете найти и загрузить драйверы на сайте производителя вашего устройства или через менеджер устройств вашего ПК.

Шаг 4: Измените настройки звука в играх

Если проблемы со звуком только при игре на вашем ПК, можно попробовать изменить настройки звука в игре. Некоторые игры могут иметь настройки звука, специально созданные для контроллеров DualShock 4. Проверьте настройки в вашей игре и убедитесь, что звук настроен на контроллер DualShock 4.

Шаг 5: Перезапустите свое устройство

Наконец, если ничто из перечисленного выше не сработало, попробуйте перезапустить ваше устройство. Перезапуск может помочь устранить любые технические проблемы, которые могут привести к отсутствию звука на контроллере DualShock 4.

Заключение

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

Как использовать сенсорную панель контроллера PS4?

Как вывести звук из контроллера PS4? Чтобы настроить объем громкоговорителя Манетт беспроводной DUALSHOCK™4, используйте левую или правую кнопку на Манетт.

но все же, Как включить PS4 без кнопки? На экране функций перейдите в [Настройки] > [Настройки подключения дистанционного воспроизведения], затем включите функцию [Включить дистанционное воспроизведение]. На экране функций выберите [Настройки] > [Управление учетной записью] > [Активировать как PS4 main], затем выберите [Включить].

Как отключить сенсорную панель PS5?

Это приводит к разрядке батареи, чего можно избежать, выключив контроллер вручную. PS5. Чтобы выключить контроллер PS5 DualSense, нажмите и удерживайте кнопку PlayStation около 10 секунд. Вы можете убедиться, что он выключен, посмотрев на индикаторы вокруг тачпад.

Как увеличить звук вашей PS4?

Регулировка громкости (наушники)

Отрегулируйте громкость с помощью левой или правой кнопки на контроллере.

Как активировать микрофон контроллера PS4? Чтобы изменить настройки вашего микрофон, получить доступ к аудиоменю вашего PS4. Перейдите в «Настройки» > «Устройства» > «Аудиоустройства».

Как поставить звук на PS4? Подключитьбеременная на вашем контроллере PS4.

Вставьте один конец 3,5-мм кабеля в гнездо на задней панели контроллера, а другой конец — в аудиовход (аудиовход, линейный вход или что-то подобное) на задней панели контроллера. беременная Блютуз.

Как включить контроллер PS4 без кнопки PS? выключи свой PS4 и отключите его. Найдите маленькую кнопку сброса на задней панели вашего Манетт DS4, рядом с триггером L2. Используйте тонкий инструмент, чтобы нажать клавишу. Удерживайте клавишу в течение 3-5 секунд.

Как включить PS4 без геймпада?

Нажмите кнопку питания на PS4 и удерживайте ее около 7 секунд, пока не услышите два звуковых сигнала. Консоль полностью выключится. поставить PS4 в режиме покоя нажмите и удерживайте кнопку питания и отпустите ее после того, как услышите звуковой сигнал.

Как включить PS4 с телефона? Как включить PS4 с помощью телефона ?

  1. Загрузите приложение Playstation. Сначала убедитесь, что . телефон . /планшет и. PS4 , .
  2. Запустите приложение и подключитесь к PSN. …
  3. Авторизуйте приложение на вашем. PS4 . . …
  4. Превратите свой. телефон . или планшет в качестве второго экрана для вашего. PS4 . .

Как отключить контроллер от PS5?

Чтобы выключить ps5 контроллер DualSense, нажмите и удерживайте кнопку PlayStation около 10 секунд.
.
КОММЕНТАРИЙ se Отключить из PlayStation Store?

  1. Войдите в меню управления учетной записью.
  2. Выберите Безопасность на левой панели.
  3. Выбирать. Се Отключить . всех устройств в нижней части экрана.

Как включить тактильную обратную связь PS5? Выделите «Настройки контроллера» в мини-меню, затем выберите контроллер, для которого вы хотите настроитьтактильный. Затем вы можете настроить интенсивность вибрации и интенсивность триггерного эффекта по своему вкусу.

Как получить игровой звук в гарнитуре PS4?

Зайдите в настройки программы PS4. Перейдите в «Устройства» и выберите «Аудиоустройства». Замените устройства ввода и вывода на шлем связанный. Выберите Выход в шлем и выберите Звук чата.

Как настроить громкость наушников на PS4?

Независимо от того, находитесь ли вы в игре или нет, просто удерживайте кнопку PS на вашем контроллере, чтобы вызвать быстрое меню. Затем перейдите в «Звук/Устройства» и выберите «Управление звуком». громкость наушников. Это гораздо более быстрый способ, и как только вы к нему привыкнете, вы сможете регулировать Votre объем в секундах

Как надеть гарнитуру на PS4? КОММЕНТАРИЙ используйте гарнитуру или наушники на пс4

  1. Первое, что нужно сделать, это включить PS4 .
  2. Затем подключите кабель от гарнитуры к разъему 3.5 на контроллере. PS4 .
  3. Нажмите и удерживайте кнопку PS в середине двух аналоговых джойстиков.

Как говорить с микрофоном контроллера PS4? Манетт

  1. Allez в Настройки > Устройства > Аудиоустройства.
  2. Выберите «Вывод на наушники» > «Все аудио».
  3. Выберите параметр «Регулировать громкость (наушники)» и нажмите из клавишу со стрелкой вправо, чтобы убедиться, что громкость активирована.

Как использовать микрофон на PS4?

Как использовать ваши наушники или наушники на PS4

  1. Первое, что нужно сделать, это включить PS4 .
  2. Затем подключите кабель от гарнитуры к разъему 3.5 на контроллере. PS4 .
  3. Нажмите и удерживайте кнопку PS в середине двух аналоговых джойстиков.

Как говорить с микрофоном на PS4? Чтобы инициировать голосовую команду, произнесите «PlayStation». à вслух. Примерно через секунду появляется микрофон появится на вашем экране. Это ваш знак, что вы можете начать говорить голосовая команда. PS4 будет слушать десять секунд – если вы ничего не скажете в это время, она перестанет слушать.

Почему у меня не работает микрофон PS4?

Устранение неполадок с устройством

Попробуйте переподключить устройство. Убедитесь, что переключатель микрофона гарнитуры не Не нужно ВЫКЛ. Попробуйте переподключить устройство. Если у вас есть другой беспроводной контроллер, попробуйте подключить к нему гарнитуру.

Как поставить PS4 Sound на домашний кинотеатр? Подключите кабель HDMI к порту HDMI. Подключите другой конец кабеля HDMI к входу HDMI телевизора высокой четкости или дисплея. Включите телевизор и консоль.

Как настроить звук гарнитуры PS4?

Независимо от того, находитесь ли вы в игре или нет, просто удерживайте кнопку PS на вашем контроллере, чтобы вызвать быстрое меню. Затем перейдите в «Звук/Устройства» и выберите «Регулятор громкости». шлем. Это гораздо более быстрый способ, и как только вы к нему привыкнете, вы сможете регулировать ваш объем в секундах.

Почему не включается контроллер PS4? Выключите и отсоедините Манетт от PS4. Нажмите и удерживайте маленькую кнопку сброса на задней панели устройства в течение 5 секунд. Манетт, рядом с кнопкой L2. Повторно подключите Манетт к консоли через оригинальный USB-кабель или совместимый.

Как включить PS4 с помощью клавиатуры?

PS4

  1. Нажмите кнопку питания.
  2. Нажмите клавишу PS парного контроллера.

Что такое кнопка PS на PS4? нажмите кнопка PS на контроллере, затем выберите пользователя. При первом использовании контроллера необходимо выполнить его сопряжение с системой. PS4™. Вы можете использовать до четырех контроллеров одновременно.

Как вывести звук на dualshock 4

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

Шаг 1: Подготовка

— Убедитесь, что у вас есть наушники с 3,5-миллиметровым аудиовыходом.
— Убедитесь, что DualShock 4 полностью заряжен или подключен к консоли через USB-кабель.

Шаг 2: Подключение наушников

1. На штекере наушников найдите 3,5-миллиметровый миниджек.
2. Подключите джек наушников к порту на уровне динамиков на задней части DualShock 4.

Шаг 3: Настройка звука

1. Включите вашу PlayStation 4 и войдите в меню настройки.
2. Выберите «Настройки звука и экрана».

Шаг 4: Настройка вывода звука на DualShock 4

1. В разделе «Настройки звука и экрана» выберите «Настройщик звука и устройство вывода».
2. Выберите «Устройства вывода».
3. В списке доступных устройств выберите «Геймпад».
4. Выберите «Всегда включать» или «Включать также связанные с режимом воспроизведения».

Дополнительные советы:
— Проверьте, что наушники работают, подключив их к другому устройству, чтобы убедиться, что проблема не в них.
— Если звук не выводится через наушники, попробуйте перезагрузить PlayStation 4 и повторить настройку.

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

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