Audio Tricks and Challenges in Automotive Android

Audio Tricks and Challenges in Automotive Android


всем привет ещё раз меня зовут владимир ананьев я тим элит на автомате в проекте globallogic is харькове и харьковской локации и сегодня я расскажу о том опыте с которым мы столкнулись в процессе реализации одного из проектов автомотив проекта и в частности в процессе реализации аудио фичи расскажу о той боли наверно которую которая нас постигла начну с истории немного расскажу как это все начиналось как аудио появилась в автомобиле под вам расскажу радио чуть больше технических подробностей что такое аудио-фокус зачем нужен signal processing обработка звука и о проблемах с производительностью с которыми он просто с которыми мы столкнулись на самом деле немногие из разработчиков в андроиде которые пишут обычное приложение сталкивались с тем с чем мы столкнулись и если мы откроем документацию которую есть у google этом довела пир android com source android com то там какие-то моменты описаны много во многих нюансов наверное нету и нам в итоге пришлось перекопать ни один гигабайт исходников android чтобы докопаться до истины есть какие-то закрытые доки от гугла на самом деле которые они распространяют среди приближенных разработчиков но там тоже мало полезного скажем так потому что google продвигает отчасти свое стандартное решение но она практически не используется не удовлетворяет тем потребностям автомате вендоров и начнём с истории как все начиналось первое первое первый момент когда появилось самое первое радио в автомобиле это был 1904 год естественно в сша это было простое ламповое радио было больше дыма и где-то в тридцатых радио начала появляться уже в серийных автомобилях в 30-х годах прошлого века 50 как вы видите бродил по это уже стало более менее похоже на то что то к чему мы привыкли оформилась в привычный нам вид к семидесятым это уже появился прерыватель компакт-кассеты начале 80-х появились компакт-диски они тоже появились в автомобиле и в двухтысячных даже начала появляться проигрывания видео ну естественно это флешки это bluetooth и так далее в общем у мы уже все привыкли и сейчас общему движется то что уже есть в то же самое если о которой реле начале это infotainment system это уже компьютер на колесах который не просто проигрывает радио или музыку с флешки является полноценным полноценной системой полноценно компьютера со своей операционной системой которая там кроме банальной музыки может выполнять уже целую массу других функций какие же операционные системы используются в автомобиле как это ни странно де-факто стандартом был и остается qnx это компактная и быстрая операционная система реального времени и обычно поверх нее и работает какой-то проприетарный интерфейс например написаны на крюке также используются различные дистрибутивы linux типа женеве linux автомате upgrade linux также используются другие операционки реального времени типа широко известный в узких кругах в x works windows embedded тоже где-то используется никогда не видел но есть ну и конечно же android о которой мы сегодня говорим android очень сильно последнее время набирает обороты и почему это происходит мы поговорим дальше вначале коротко история android компания android interpreted была организована 2004 2005 была поглощена гуглом 2008 появился первый телефон если может куда помнят на андроиде такой был еще с клавиатурой с выдвижной первый опыт применения машине в автомобильной фатальной системе был 2011 на самом деле не только давно и из тех пор google предлагает прилагает немало усилий для продвижения android android платформы для применения в автомобилях первую очередь это интересно это мобильным ведром за счет открытости это операционной системы каждый может скачать исходники они большей частью доступны исключением там каких-то маленьких частей типа графических драйверов и начать разработку своей же операционной системы и также ничто не мешает доработать droid запилить его по какие-то под свои нужды это тоже очень важно поэтому операционная система android активно поддерживается производителями железа производителями мобильных процессоров и каждый из них предоставляет какую-то готовую сборку какой-то так называемый bsp борт саппорт пакет который вы сразу заключая контракт с поставщиком оборудования получаете запускаете на какой-то там дима платье от которой вы видели у нас в коридоре и у вас уже есть готовый android который вы можете уже начать зарабатывать под свой там какой-то интерфейс по своей нужды еще один немаловажный критерий все мы знаем что под android уже написана очень большое количество приложений и когда у вас android есть в автомобиле это тоже как бы хороший такой показатель вы можете если вам не нравится там предустановленные программы для навигации можете скачать какую-нибудь другую и пользоваться ей не нравится вам там проигрыватель музыки тоже открывайте playstore и скачивать этом один из доступных миллиона приложений это тоже удобно для пользователей также последнее время набирает популярность в системы зеркалирования ли дублирования экрана на экране автомобильные мультимедиа системы что это такое представьте постою space вы дома запускаете гугл мэпс прокладываете куда-нибудь маршрут куда вам надо поехать выходите из дома садитесь в машину ваш телефон автоматически подключается к мультимедиа системе на нем на вашем на экране в машине появляется этот интерфейс карты высадите заводите машину и едете уже по тому же маршруту которого съесть телефоне то есть машина отображает интерфейс отображающийся на вашем телефоне это тоже принципе очень удобно и очень популярна таких систем ума есть у гугла это android auto и есть в айфоне это apple carplay теперь погрузимся чуть-чуть поподробнее внутреннем устройстве аудио по системы android и по ходу если есть вопросы не стесняйтесь задавайте будем разбираться вместе тут я постарался очень просто схематически нарисовать как устроена аудио подсистема в андроиде начнем сверху вниз какие то есть приложения пользовательские как и в обычном телефоне они работают через и pr либо например аудио трек либо media player если нужно проигрывать mp3 жку они взаимодействуют с аудио флинн грамм это системный и аудио сервис который основной задачей которого является обработка звуковых потоков микширования их вместе если это нужно если например несколько аудио источника проигрывать вместе и дальнейшая обработка и отправка уже уровень абстракции оборудования дальше для воспроизведения через какое-то audio driver например also в linux kernel для воспроизведения в системе но поскольку изначально android задумывался как система для пользовательских устройств для мобильных телефонов начали потом планшетов телевизоров часов в автомате ли необходимость в таких пользователи устройствах обычно только одно устройство там один динамик например в телефоне один микрофон автомате весь ситуация немножко другая и чтобы как-то угодить требованиям того что нужно вендором автомобильным было введено понятие аудио шин называемых все это виртуальное логические устройства можно так сказать через которое например несколько приложений могут воспроизводить звук одновременно и они будут параллельно выводиться через аудио hal в какой-то внешней микшер который уже будет управлять какой именно звука какого именно приложения будет воспроизводиться на каком каком то определенном динамики если например у нас простой эскиз автомобили 4 динамика и мы садимся запускаем музычку какую-нибудь с флешкой mp3 жку она проигрывается понятно мы хотим чтобы все слышали на проберутся на всех там 4 6 8 колонках и от параллельно запускаем навигацию например которая там иногда девочка томным голосом подсказывает поверните налево поверните направо естественно эту навигацию магнит смысла озвучивать всем посреди всем пассажирам машине поэтому она обычно проигрывается через передний левый динамик который поближе к водителю чтобы ее слышал только водители не мешал другим именно вот с этим переключение мед этих динамиков занимается внешней миксер который опять же управляется отдельным внешним процессором каким-то обычно небольшим даже можно назвать или к контроллерам на котором работает своя операционная система реального времени и который полностью работает независимо от android и обычно он является даже мастером по отношению к android то есть управляет питание всей системы точно также строится радио радио является аппарат аппаратным тюнером которое аппарат на вывод звука подключен к внешнему микшеру и также различные системные звуки системные звуки в автомобиле на я думаю все знаете это садимся в машину начинает пиликать звук пристегните ремни там еще какие-то системное уведомление что не закрыта дверь и так далее это тоже воспроизводится отдельно аппарат на мину и android и зачастую android об этом может даже не знать зачем все это делается сегодня уже говорили что android от 1 автомобильная отрасль она такая достаточно зарегулированная поскольку автомобиль это не только быстрая но и опасное средство передвижения поэтому электроника здесь не исключение тоже требуется очень много уровней сертификации и поэтому используется за какой-то отдельный микроконтроллер который сертифицирован и для automotive имеет сертификат что он по безопасности что может работать в автомобиле развиваемой сливки critical системе и отвечает требованиям по надежности сейчас я думаю вы согласитесь пока android не очень доверяют плане надежности такие картинки не знаю наверное видели во всем на своих телефонах и последнее время загрузки тоже когда мы в первый раз включаем телефон android начинает загружаться дан долго загружается что-то делает если мы сидим в машине то мы уже хотим слушать музыку слушать хотя бы радио чтобы она уже играл android пока не позволяет загружаться там за за долю секунды но кроме отдельных каких-то случаях типа со спринта рама и поэтому когда мы садимся в машину поворачивать ключ зажигания в этот какой-то автомотив процессор быстро загружается на своей маленькой операционки запускает радио и мы уже слышим какую-то музыку пару слов о радио сейчас это уже не просто банальная какие-то там mfm и для средние волны у кого радиоприемниках было раньше сейчас это добавляются поддержки спутникового радио это в основном в штатах а нового работать по подписке платное чтобы слушать но зато пользователи получают целый набор разнообразных цифровых спутниковых радиоканалов с высоким качеством понятно поскольку эта цифра и поскольку это спутник там большая полоса пропускания и к там очень много каналов там информация о пробках и передается также есть в европе применяются эфирные системы цифровые типа digital audio бродкаст там тоже есть свои дополнительные сервисы то есть это не просто радио это уже какие-то там даже есть не только текстовая типа бегущих строк но и даже цифровые сервисы то есть какие-то картинки гири метод digital rights management ну это есть и в фмс название радиостанции которая появляется сейчас даже на простых и то есть ну в цифровых системах естественно кроме названия станций можно передавать все что угодно ну на и фонтана на у кого это есть да какие есть еще источники звука в современном автомобиле ну прежде всего это флешка о которой мы говорили очень удобно появилось довольно давно вставил флешку он 8000 mp3 шаг очень удобно bluetooth по bluetooth может быть либо подключённый телефон либо какое-то другое устройство он может работать двух режимах либо это если hands free если мы разговариваем с подключенный телефон или может быть bluetooth аудио отдельный режим когда мы запускаем на телефоне там media player и он через bluetooth играет на колонках автомобиль также android auto или carplay системы которых я говорил тоже это отдельные источники звука какие-то другие системные приложения там системные уведомления это тоже источник звука по сути приложение которое мы установили сами это тоже источник звука и соответственно всеми этими приложениями всеми разнообразными источниками звука нужно управлять что будет если например во время звонка у вас случайно там ну или не случайно специально заиграет какой-то другой другое приложение какой-нибудь музыкальный плеер понятно что ничего хорошего не получается это не просто неудобно и мешает соответственно эти всем нужно управлять вариантов когда несколько приложений могут проигрывать звуков одновременно можно придумать не очень много на самом деле и чтобы как-то контролировать это все в андроиде android пример есть понятие как аудио-фокус что такое аудио-фокус я думаю многие сталкивались с фокусом ввода с клавиатуры как разработчики принципе это примерно то же самое аудио-фокус определяет какому приложению в данный момент можно выводить звук как это реализовано в андроиде андроиде есть отдельный отдельный и 5 для этого и пиррой находится классе аудио менеджер через который каждая хорошо написано конечно приложение должно запрашивать этот аудио-фокус и система ему говорит можешь ты проигрывать звук сейчас или не можешь потому что например грает какое-то более высокое приоритетное приложение во время звонка например запрос аудио-фокус они обрабатываются поскольку по понятным причинам мы как раз говорили что если мы звоним по телефону мы хотим слышать звонок и все запросы аудио-фокуса во время звонка они будут отправлены вниз по стыку и будет обработан и после того как замок завершится важным параметром но самым важным параметром при управлении аудио фокусом является аудио атрибуты они определяют что почему и как должно проигрываться тот или иной аудиопоток также там есть несколько параметров определяющие может ли приложение становиться на паузу саму если система просит приостановить воспроизведение поддерживается ли синхронное управление аудио фокусом и call back через который система взаимодействует приложение не говорит ему можно проигрывать получил ветер аудио-фокус или нельзя проигрывать аудио-фокус не получим запрос отклонен и приложение должно подождать к нашему большому сожалению коллеги подтвердят мы задавали себе этот ворос миллион раз почему же почему вот эта система аудио-фокуса она не обязательно использованию приложения в android на самом деле ничего не мешает любое приложение в андроиде может взять и начать в любой момент а спросить звук и этот звук в общем случае проиграется через динамик и чтоб хоть как-то с этим побороться google здесь запилил несколько хаков в систему вот вы их видите по названию было было понятно то есть принудительно приглушаем звук например во время воспроизведения уведомлений и принудительно за мю чего им полностью воспроизведения всех звуков посторонних во время проигрывания один кто на или во время звонка что же нужно автомате автомобильный ветром почему вообще их это не устраивает автомобильные ветра на самом деле нужно четко четко описано четко за данная политика управления аудио-фокуса не так как в андроиде что система например может всегда проигрывать звуки может ограничить кого-то а это должно быть четко описано либо на основании приоритетов например когда разным источникам звука назначается разный приоритет и если например сейчас воспроизводится более приоритетный звук то например навигация то более низкой приоритетный звука какой-нибудь там медиа не воспроизводится например вообще либо используются более сложные системы например нам нашем проекте пришлось такую систему использовать основана она была на таблица переходов где описываются все возможные переключения между всеми возможными аудио источников то есть был сейчас играет медиа звук запрашивает звук какая-нибудь например звук навигации от google карт и на пересечении мы в этой таблицы указывается что происходит запрашиваем звуком из тем что сейчас играет либо например запрос полностью отклоняется не соответствует приоритет либо например эти оба звука микшируется либо текущей воспроизводящей воспроизводимый звук ставится на паузу например либо другие варианты что же предоставляет android чтобы нам такой системы сделать андроиде мы можем зарегистрировать свое аудио policy это системный класс который на самом деле состоит из нескольких полей одной частью из этой аудио полис являются аудио policy фокус listener абстрактный класс реализовав которой мы будем получать уведомление от системе от системы всех запросах на аудио-фокус а вот эти вот калмыки радио фокус request и она аудио-фокус abandon вызываются когда какое-то приложение определенной информации аудио-фокус info либо запрашивает аудио-фокус либо освобождает аудио-фокус одному закончила воспроизводить звук и здесь соответственно мы можем принимать решения и говорить результат разрешаем этому приложению воспроизводить звук или не разрешаем также через механизм аудио policy мы можем управлять маршрутизация звука зачем это нужно помнить и слайд где была был внешний микшер аудио шины это нужно для того чтобы разный звук направлять через разные шины через разные аудиоустройства общем случае то есть например как я уже говорил музыка играет например через одну аудио шину через бас 0 a notification какие-то играют через другую шину и внешней процессор уже определяет можно ли кому-то воспроизведите на каких колонках это воспроизводится и так далее audi атрибуты используются в целом ряде системных и пьянь это аудио трек который служит для воспроизведения звуков формате pcm это media player который служит который умеет уже воспроизводить всякие mp3 жки и другие зажатые форматы и нотификации которые тоже сами по себе воспроизводят звук поэтому нужно знать куда мы их хотим воспроизвести но к сожалению не все это удовлетворяет то что нужно автомате и нам пришлось на самом деле писать свой фреймворк отдельный который получил который как бы представляла себя целый системный сервис управляющий аудио фокусом для сотни аудио источников разнообразных там была прописана огромная таблица перехода в состояние там 20 на 20 где каждому паритету соответствовало там пять или шесть вариантов арбитража то есть тоже что происходит запрашивающей аудио источником и то что происходит с тем кто сейчас играет поговорим немного о том как звук выводится кресло сегодня звучит очень много популярная машина если мы на него посмотрим то увидим что там больше десятка динамиков это саббуфер и среднем среднечастотные колонки несколько усилителей отдельных и всем этим нужно управлять и управлять первую очередь куда какой звук на какие колонки либо на эти либо например пассажирам куда звук воспроизводится поскольку колонок микрофонов дисплеев автомобиля становится все больше сейчас набирает популярность такой новый стандарт ну основана на старой идея использовать везде ethernet зерна для всего но как мы знаем у зерне то есть несколько проблем связанных с нами своей его сущностью этой сети первая самая основная проблема это неравномерность задержки и непостоянство сеть ethernet не гарантирует в общем случае то что какой то пакет из точки передаваясь из точки а в точку б будет всегда передаваться с определенной задержкой и вторая проблема это не гарантированное полоса пропускания сети ethernet которые тоже высоконагруженных сети может быть проблемы и чтобы побороться со всем этим сейчас активно развивается стандарты аудио-видео брифинг которая как раз призваны описать четко собрать воедино и стандартизировать эти принципы и подходы организации синхронизации в сети ethernet применительно к автомобилю и принципы управления полосой пропускания чтобы каждому аудиопоток у который может требовать там десятки мегабит если это видео например высокой четкости чтобы она только гарантированно получала эту полосу примерно такая же ситуация с микрофонами как с динамиками если раньше это был один микрофон лучшем случае то сейчас это 246 может быть и больше в то если например 2 сегодня графона но это не предел большое количество микрофонов нужно для того чтобы успешно бороться с шумом и из цеха для многозадачных приложений какие же есть источники эхо и шума автомобили шумом понятно вентилятор из ширины ветер если мы забыли открыть дверь пассажиры тоже которые сзади сидят о чем то там разговаривает и мешают эхо возникает при разговоре я думаю многие сталкивались когда плохо настроена и audiotrak системе возникает эхо при разговоре по телефону автомобили это особенно актуально поскольку мы говорим далеко от микрофона если мы по телефону мы расстояние до микрофона небольшое то в машине она достаточно может быть значительно и одним из важных параметров для работы для подавления это ваш ум является время задержки время задержки вывода звука от начала его воспроизведения до того как она выходит на динамике если кто-то пробовал разговаривать например подключенному через спутниковые каналы по телефону то вы поймёте о чём я когда на спутниковом канале время задержки может изменять измеряться секундами даже через такой канал очень удобно разговаривать просто поговорить одно слово секунду ждете и через одну секунду еще получаете ответ именно поэтому время задержки очень важно последних версиях android если взять 9 android google провел очень большую работу по оптимизации этого времени и сейчас можно добиться время времени задержки и от микрофона до динамика через какое-то системное приложение в районе десятков миллисекунд раньше это были сотни то что я написал про 400 миллисекунд на самом деле это не очень плохо но вендоры хотят лучше и например от нас требовали уменьшить его там менее 300 миллисекунд чтобы оптимизировать это время его нужно начали померить есть несколько способов самый банальный осциллограф подключаем один канал на микрофон адиб второй канал на динамик подаем какой-то короткий звук на микрофон и смотрим на осциллографе сколько времени прошло от начала и до вывода через динамик и видим там какие-то наши 400 миллисекунд и начинаем убираться почему же это так происходит как это время уменьшить также можно например генерировать программные маркеры запускать в систему проигрывания синусоида с определенной частотой и каких-то в местах фреймворка детектив что там проигрывается этот звук и выводить например в лоб какой-то цифровой маркес временем по которым мы можем сказать что вот от аудио флинн города аудио halo прошло там какое-то такое время определенно это очень хорошо помогает с оптимизации этого времени что же вносит основную задержку в это в это время основной параметр это размера буфера аудио буфера во всех этапах прохождения звука в системе начинает приложение и вниз до самого железа как он влияет как размер это влияет понятно чем меньше размер аудио буфера тем меньше время задержки ну бесконтрольное бесконечно уменьшать от мы это время тоже не можем поскольку возникают так называемые андрон и то ситуация когда аудио флинн гору аудио серверу не хватает аудиоданных сейчас для вывода потому что приложение не успела их еще загрузить и тогда возникают какие-то там щелчки или другие какие-то искажения звука хорошее из кода android вот этот скриншот фреймворка android фреймворк а мы долго разбирались пытались понять почему приложение когда пытается что-то вывести какой-то звук фреймворк системный запрашивать у него на два фрейма больше чем мы задаем долго перекапывали фреймворк и наконец нашли что тут для борьбы с ошибками округления используются вот такая конструкция + 1 + 1 в чем это в нескольких местах если складывается здесь плюс 1 плюс 1 и еще здесь еще раз и в итоге получается рассинхронизация мы долго искали но нашли так хотим побороться как анти антаран и взгляд на осциллографе в тот момент когда системе нет данных для вывода аудио френ gear выводит просто тишину и на слух это воспринимается какой-то там щелчок неприятный достаточно кроме размер аудио буфера причиной антаран и может быть могут являться и другие факторы в первую очередь это большое количество прерывание в системе это неправильно настроенный power management когда частота процессора уменьшается например держится на маленьком ком-то значение когда нам надо больше процессор най мощности для обработки звука какие-то более высокие приоритетные процесс или потоки которые прерывают обработку звука в данный момент и мешает воспроизведения мы несколько раз пытались просто увеличить приоритеты всех во всевозможных потоков во всем процессе обработки этого звука но это не всегда приводит к нужному эффект и последнее последний фактор это время разогрева аудио подсистема это уже более ближе к железу время от того начиная когда звук поступает на выход на вход усилителя до того как он начинает воспроизводить звук обычно это время задается производителями усилителей она нужна для борьбы с щелчками которые если слышали на старых усилителях при включении этого возникают щелчки переходные процессы при начале воспроизведения на этом все и краткий резюме того что я говорил android родился развивался и продолжает развиваться как система для что называется консилер девайсов для потребительских устройств это телефон и начали потом добавить планшеты потом телевизор или часы и и сейчас автомобиль поскольку спектр большой то google старается угодить всем чтобы android работал на максимальном количестве устройств который если мы откроем в playstore то увидим что там больше тысячи разных аппаратных платформ на которых работает android и из этого для наших применений для automotive все еще требует большого большой работает большого времени на доводку напильником и пару советов напоследок как с этим жить первое следить за обновлениями android часто бывает что работаете с 8 могли за там андроиде уже статус что-то исправлено мы можем взять оттуда через пикнуть патч и исправить эту проблему не тратя огромные ресурсы на ресурсы на ее разбирательство с ней самим второй совет использовать аудио трек или аудио река в которой для воспроизведения формата писем используется использовать синхронном режиме мы не очень долго бились с этой проблемой непостоянство задержек аудио по системе при использовании использование этих audi a3 к рекорда по синхронном режиме использовании асинхронного режима убирает все проблемы мы записываем 512 байт и я у дев ringer-t воспроизводит никаких проблем нет как можно меньше плачет фреймворк мы сейчас перри подсели наверное там все вдоль и поперек аудио флинн gear аудио how верно ли остальные драйвер почему это производит потому что меня и в одном месте один из есть чонин другой узкий из может сломаться то же самое тесты сертификация android google требуют их соответствие от тоже может сломаться ну и последний наверное такой совет если нужно добавлять какое-то новое аудиоустройства то не бойтесь писать своя уехал это не так сложно как кажется если нужно например для ethernet аудио-видео bridging вполне можно написать и достаточно быстро на этом все спасибо вопросы красивая диммер вижу руку жизнь тогда пожалуйста добрый день спасибо за доклад вопрос такой вы сказали что вы работали над проектом с какой контраст каким контроллерами работали если не секрет и какое количество шин на котором вы упоминали используется мпа максимум ну технические подробности я не могу рассказать поскольку shunday понимаете речи страшен у нас было пять максимальное количество там можно поддержать сколько угодно никто не ограничивать шины имеет свой адрес мы можем сделать их сколько угодно ну практически это если взять стандартный car service carplay примеру то что вы видите сейчас на стендах интерфейс android для автомобиля android auto там используются три первое это мультимедия для воспроизведения музыки 2 и the driver’s а для воспроизведения уведомления типа навигации и 3 для системных уведомлений отдельная шина спасибо вопрос по звуку сожалению не помню какой это слайд но вы говорили что есть возможность допустим при навигации включать звук только для водителя но при этом звук распространяется на всю площадь на весь объем точнее используется ли технологии приглушения звука с помощью наложения анти волны как примеру стартапе с аудио куполом когда включается микрофон выкладывает волну в цифровом виде инвертирует и накладывает анти волну что приглушить звук такой уже используется или еще нет мы такого пока не используем ну к этому все и идет и одним из одной из проблем которые мы столкнулись в этом проекте было то что мы нам пришлось использовать стороннюю библиотеку для для работы для подавления шума для подавления шума эхо и вот уже в такой библиотеки она поддерживает многоканальный звук то есть когда там задаем одну две три четыре например для водителя отдельно для пассажира спереди отдельно и сзади для пассажиров третью отдельную зону звука вот там уже можно динамически подавлять вот это вот и шум пример чтобы когда один разговаривать по телефону было слышно только его ну понятно что только с той стороны и вот то что о чем вы говорите я думаю что следующая итерация будет вот этот интеллектуальное наверное подавление шума для пассажиров для разных спасибо спасибо спасибо мне вопрос power & asu вы про него упоминали но я так и не понял вывоза и пиментель или нет еще раз пока вы or die as orbeez orbeez в сообщении должны обстановки и тому подобно активно используется сейчас активно используется особенно вы восхищение о трафике все это было как отдельные источники звука например если вы едете и приходит сообщение что впереди пробка то она проигрывается да да я понял выдал себя уже демонтируется и то есть я немножко заполнил проводил самом деле сейчас в украине доступно доп уже доступна мы проверили его кингфишер бордах он поддерживает этого цифровой формат вещания то есть на этом бенди так что там вообще принимается кучу информацию все что он доступных творческий orbeez тут только не ардис классическом представлении а вот который поверх доба что это все же есть украину добро пожаловать в будущее спасибо еще один вопрос в одном да это уже софтовый аудио сервер который поверх also работает все равно за счет уменьшения размеров аудио буфера потом чем и говорил мы точно также минимизировали это дети размер его уехали fine tuning был параметров как мы открываем аудиоустройства вальсе как сам hal работать с ними как и как приложение с ним работает половина и java и си плюс плюс и нативный код аудио файл ну и и набор библиотек of библиотек для декодирования звука есть библиотека встроена в андроиде для их подавления кстати тоже но мы ее не использовали поскольку у нее не так много возможностей как надо так далее владимир спасибо большое за доклад и знакомимся когда-то составе on the это новое было очень интересно послушать у меня такой вопрос я когда-то использовал программу которая озвучивает сообщение на уведомление которые приходят и в это же время я слушал музыку и получилось так что у меня накладывался один трек на другой это проблема с точки зрения разработчика приложения который озвучивает сообщение или системная ошибка к кому мне в таком случае обращаться и второй вопрос а мне еще касательно вот ошибок может быть недостатки которые сейчас существуют у android могут ли будущее операционные системы например та же функция которую разрабатывает google и как я знаю она будет использоваться для интернета вещей решить эти проблемы спасибо за вопрос на первый вопрос чтобы за вопрос да что был за вопрос да да да все правильно насчет приложений это вина приложения то есть о чем я говорил то что использование аудио-фокуса в андроиде не мне обязательно это большая проблема мы на ней целый фреймворк написали из за этого и слепота была обязательном топ не было такой проблемы и насчет второго как бы поживем увидим google тоже работает над андроидом и старается слуг к ним постоянно приезжают высказываю свое мнение все наверно автомате finder и песок уют ну это популярно сейчас использовать android в машине они стараются всем угодить но максимально так чтобы во-первых и сломать обычные пользовательские приложения на телефонах чтобы она работала опять же везде с одной стороны и с другой стороны чтоб как-то приблизить это потому что надо автомате ну посмотрим я надеюсь что если не 9 до 10 android кью уже будет ближе потому что нам надо


Leave a Reply

Your email address will not be published. Required fields are marked *