Форум автозвука и установки музыки в автомобиль
Страница 1 из 259 123451151101 ... ПоследняяПоследняя
Показано с 1 по 10 из 2588

USB DAC и USB Audio для Android

  1. #1
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942

    USB DAC и USB Audio для Android

    К вопросу про подключение внешних USB звуковых карт и аудио-контроллеров (например, чтобы организовать оптический S/PDIF выход на своем планшете) к устройствам на Android.

    Готовые решения USB Audio для Android:




    Предыстория

    На сегодняшний день можно только констатировать, что полноценная поддержка периферийных аудиоустройств в платформе Android отсутствует. [если все-таки появится, то этот тезис можно будет изменить]

    Подключая внешнюю звуковую карту к USB OTG порту устройство будет определяться, но в отсутствии драйверов snd-usb-audio смонтировано быть не сможет, что можно наблюдать через выдачу команды dmesg:
    Код:
    <7>[  547.500579]
    <7>[  547.500671]
    <7>[  547.500714] insmod_host_driver
    <7>[  547.500770]
    <7>[  547.520487] [sw_hcd0]: sw_usb_host0_enable start
    <7>[  547.525757] -------sw_hcd0_soft_disconnect---------
    <7>[  547.555838] [sw_hcd0]: open_usb_clock
    <7>[  547.606616] [sw_hcd0]: host_init_state = 0
    <7>[  547.630811] [sw_hcd_host0]: Set USB Power ON
    <7>[  547.636014] [sw_hcd0]: sw_usb_host0_enable end
    <7>[  547.807819]
    <7>[  547.807913] ------------IRQ CONNECT-------------
    <7>[  547.807986]
    <7>[  547.970800] [sw_hcd]: reset port.
    <7>[  548.030412] [sw_hcd]: reset port stopped.
    <7>[  548.034841] spurious?
    <6>[  548.090560] usb 1-1: new high speed USB device number 2 using sw_hcd_host0
    <7>[  548.099068] [sw_hcd]: reset port.
    <7>[  548.165755] [sw_hcd]: reset port stopped.
    <7>[  548.230104] [sw_hcd]: sw_hcd_h_disable, epnum = 0
    <7>[  548.234814] [sw_hcd]: sw_hcd_h_disable, epnum = 0
    , а также в списке USB-устройств по команде lsusb
    Код:
    Bus 001 Device 001: ID 1d6b:0001
    Bus 002 Device 001: ID 1d6b:0002
    Bus 003 Device 001: ID 1d6b:0001
    Bus 004 Device 001: ID 1d6b:0002
    Bus 005 Device 001: ID 1d6b:0001
    Bus 004 Device 002: ID 0bda:8179
    Bus 001 Device 010: ID 041e:3020
    , но новых устройств в /dev/snd/ не появляется.

    Первые шаги в направлении интеграции были сделаны любителями в рамках разработки платформы CyanogenMod, snd-usb-audio уже присутствуют в последних сборках, и, устроив дичайшие "пляски с бубном", можно попытаться настроить драйвера и продвинуться на шаг вперед, а если повезет - и на два:

    После прочтения съесть!


    Ранние эксперименты

    Пока разрабочики самого Андроида только внесли поддержу USB DAC в список задач:
    https://code.google.com/p/android/is...%20Sta%20%20rs
    http://forum.xda-developers.com/show...5&postcount=21
    , начали появляться сторонние продукты с ограниченной поддержкой внешних USB Audio устройств.

    Нажмите на изображение для увеличения
Название: Usb-Audio-2.jpg
Просмотров: 0
Размер:	54.1 Кб
ID:	427194Нажмите на изображение для увеличения
Название: Usb-Audio-1.jpg
Просмотров: 0
Размер:	114.8 Кб
ID:	427196

    В настоящее время доступна как полная,
    http://www.extreamsd.com/USBAudioRecorderPRO/
    , так и пробная
    http://www.audio-evolution.com/downl...rial_1.2.5.apk
    версии приложения USB Audio Recorder PRO ,

    После прочтения съесть!


    предназначенного прежде всего для звукозаписи, но способного и воспроизводить записанные медиа-файлы через то же устройство с помощью встроенного плеера программы. И, стало быть, в комплект поставки даже пробной версии могли бы войти необходимые для воспроизведения библиотеки, работоспособные в рамках базовой сборки Android. Но, хотя карта и распознается при первом запуске приложения:

    После прочтения съесть!

    USBAudioDevice: fd = 4294967295, opened = 1, Vend/Prod = 0x41e / 0x3020, USBrev = 200, configs = 1
    USBAudioDevice: Manufacturer = , Product = , SerialNr =
    USBConfiguration: # interfaces = 3, config val = 1, config string = , attr = 0xc0, maxPower = 2mA
    USBConfiguration: SELF POWERED!
    USBInterface: interface nr = 0
    USBAltSetting1: alt setting = 0, class = AUDIO, subclass = AUDIOCONTROL, protocol = 0, descr =
    USBEndPoint: nr = 3, IN, TRANSFER_TYPE_INTERRUPT, SYNC_TYPE_NONE,
    maxPacket = 8, addT = 0, pollingInt = 512, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBInputTerminal: m_ID = 1, assoc = 0 m_logicalOutputChannels = 8, m_channelConfig = 1599, , , STREAMING
    USBInputTerminal: m_ID = 4, assoc = 0 m_logicalOutputChannels = 2, m_channelConfig = 3, , , GENERIC_DIGITAL
    USBFeatureUnit1: m_ID = 6, SourceID = 4, m_controlSize = 2, channels = 3
    m_ID = 6, channel control = 1 (Mute )
    m_ID = 6, channel control = 2 ( Volume )
    m_ID = 6, channel control = 2 ( Volume )
    USBInputTerminal: m_ID = 7, assoc = 0 m_logicalOutputChannels = 2, m_channelConfig = 3, , , LINE
    USBFeatureUnit1: m_ID = 8, SourceID = 7, m_controlSize = 2, channels = 3
    m_ID = 8, channel control = 1 (Mute )
    m_ID = 8, channel control = 2 ( Volume )
    m_ID = 8, channel control = 2 ( Volume )
    USBMixerUnit: m_ID = 16, ins = 3, outs = 8
    USBMixerUnit1: input 0 = 1
    USBMixerUnit1: input 1 = 6
    USBMixerUnit1: input 2 = 8
    USBMixerUnit1: bmControls 0 = 0 (hex)
    USBFeatureUnit1: m_ID = 18, SourceID = 16, m_controlSize = 2, channels = 9
    m_ID = 18, channel control = 1 (Mute )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    m_ID = 18, channel control = 2 ( Volume )
    USBFeatureUnit1: m_ID = 28, SourceID = 23, m_controlSize = 1, channels = 7
    m_ID = 28, channel control = 1 (Mute )
    m_ID = 28, channel control = 0 ( )
    m_ID = 28, channel control = 0 ( )
    m_ID = 28, channel control = 0 ( )
    m_ID = 28, channel control = 0 ( )
    m_ID = 28, channel control = 0 ( )
    m_ID = 28, channel control = 0 ( )
    USBOutputTerminal: m_ID = 19, assoc = 0, source = 28, , TERMINAL_TYPE_OUTPUT_SPEAKER
    USBSelectorUnit: m_ID = 31, m_nrInPins = 2
    USBSelectorUnit: input 0 = 17
    USBSelectorUnit: input 1 = 21
    USBFeatureUnit1: m_ID = 30, SourceID = 31, m_controlSize = 1, channels = 3
    m_ID = 30, channel control = 1 (Mute )
    m_ID = 30, channel control = 0 ( )
    m_ID = 30, channel control = 0 ( )
    USBOutputTerminal: m_ID = 20, assoc = 0, source = 30, , TERMINAL_TYPE_OUTPUT_HEADPHONES
    USBSelectorUnit: m_ID = 29, m_nrInPins = 3
    USBSelectorUnit: input 0 = 17
    USBSelectorUnit: input 1 = 27
    USBSelectorUnit: input 2 = 4
    USBFeatureUnit1: m_ID = 22, SourceID = 29, m_controlSize = 1, channels = 3
    m_ID = 22, channel control = 1 (Mute )
    m_ID = 22, channel control = 0 ( )
    m_ID = 22, channel control = 0 ( )
    USBOutputTerminal: m_ID = 24, assoc = 0, source = 22, , GENERIC_DIGITAL
    USBFeatureUnit1: m_ID = 11, SourceID = 17, m_controlSize = 2, channels = 3
    m_ID = 11, channel control = 2 ( Volume )
    m_ID = 11, channel control = 0 ( )
    m_ID = 11, channel control = 0 ( )
    USBFeatureUnit1: m_ID = 12, SourceID = 7, m_controlSize = 2, channels = 3
    m_ID = 12, channel control = 2 ( Volume )
    m_ID = 12, channel control = 0 ( )
    m_ID = 12, channel control = 0 ( )
    USBFeatureUnit1: m_ID = 13, SourceID = 4, m_controlSize = 2, channels = 3
    m_ID = 13, channel control = 2 ( Volume )
    m_ID = 13, channel control = 0 ( )
    m_ID = 13, channel control = 0 ( )
    USBSelectorUnit: m_ID = 14, m_nrInPins = 3
    USBSelectorUnit: input 0 = 12
    USBSelectorUnit: input 1 = 13
    USBSelectorUnit: input 2 = 11
    USBOutputTerminal: m_ID = 15, assoc = 0, source = 14, , STREAMING
    USBInterface: interface nr = 1
    USBAltSetting1: alt setting = 0, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1: alt setting = 1, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, Undefined, type(1) = 1, ch = 2, subframesize = 2, reso = 16
    44100 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 180, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 2, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, Undefined, type(1) = 1, ch = 2, subframesize = 3, reso = 24
    44100 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 270, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 3, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 2, reso = 16
    48000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 196, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 4, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 3, reso = 24
    48000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 294, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 5, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 2, reso = 16
    96000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 388, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 6, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 2, subframesize = 3, reso = 24
    96000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 582, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 7, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 4, subframesize = 2, reso = 16
    48000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 392, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 8, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 4, subframesize = 3, reso = 24
    48000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 588, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBAltSetting1: alt setting = 9, class = AUDIO, subclass = AUDIOSTREAMING, protocol = 0, descr =
    USBAltSetting1 (AS): link = 1, delay(f) = 0, PCM, type(1) = 1, ch = 4, subframesize = 2, reso = 16
    96000 (fixed)
    USBEndPoint: nr = 1, OUT, , SYNC_TYPE_ASYNC,
    maxPacket = 776, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!
    USBEndPoint: nr = 1, IN, , SYNC_TYPE_NONE, USAGE_TYPE_FEEDBACK
    maxPacket = 4, addT = 0, pollingInt = 8, refresh = 0, syncEndp = 0, , NO FREQ CONTROL!

    , все равно не получается выбрать в качестве устройства для воспроизведения (поддержки .mp3 пока нет, но .wav можно прослушать через встроенный динамик планшета, а на .ogg программа намертво зависла). Отправил отладочную информацию и комментарии разработчикам.

    USB Audio на Nokia N900

    По опыту интеграции с другим несовместимым linux-устройством, в моем случае Nokia N900 и OS Maemo 5, последовательность действий для запуска карты должна быть примерно следующей:
    1. Загрузка модулей ядра
    Код:
    Nokia-N900:~# modprobe snd-usb-audio
    2. Подключение звукового адаптера к USB OTG, проверка выдачи dmesg и lsusb
    3. Рестарт карты и перезагрузка сервиса
    Код:
    Nokia-N900:~# /etc/init.d/alsa-utils reset 1 ; /etc/init.d/alsa-utils restart 1
    , где 1 - это номер устройства, т.к. встроенный звуковой адаптер 0. Также можно использовать all для перезапуска всех.
    4. Проверка состояния командой
    Nokia-N900:~# amixer -c 1

    После прочтения съесть!

    Simple mixer control 'Master',0
    Capabilities: pvolume pswitch pswitch-joined penum
    Playback channels: Front Left - Front Right - Rear Left - Rear Right - Front C enter - Woofer - Side Left - Side Right
    Limits: Playback 0 - 183
    Mono:
    Front Left: Playback 146 [80%] [0.00dB] [on]
    Front Right: Playback 146 [80%] [0.00dB] [on]
    Rear Left: Playback 144 [79%] [0.00dB] [on]
    Rear Right: Playback 144 [79%] [0.00dB] [on]
    Front Center: Playback 146 [80%] [0.00dB] [on]
    Woofer: Playback 146 [80%] [0.00dB] [on]
    Side Left: Playback 144 [79%] [0.00dB] [on]
    Side Right: Playback 144 [79%] [0.00dB] [on]
    Simple mixer control 'Headphone',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [on]
    Simple mixer control 'Headphone Source',0
    Capabilities: enum
    Items: 'Front' 'Side'
    Item0: 'Front'
    Simple mixer control 'Speaker',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [on]
    Simple mixer control 'Line',0
    Capabilities: pvolume cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive penum
    Capture exclusive group: 0
    Playback channels: Front Left - Front Right
    Capture channels: Mono
    Limits: Playback 0 - 231 Capture 0 - 46
    Mono: Capture 40 [87%] [5.21dB] [on]
    Front Left: Playback 207 [90%] [5.37dB] [on]
    Front Right: Playback 207 [90%] [5.37dB] [on]
    Simple mixer control 'CMSS LED',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [off]
    Simple mixer control 'Digital In',0
    Capabilities: pvolume cvolume cvolume-joined pswitch pswitch-joined cswitch cswitch-joined cswitch-exclusive penum
    Capture exclusive group: 0
    Playback channels: Front Left - Front Right
    Capture channels: Mono
    Limits: Playback 0 - 207 Capture 0 - 46
    Mono: Capture 40 [87%] [5.21dB] [off]
    Front Left: Playback 207 [100%] [0.00dB] [on]
    Front Right: Playback 207 [100%] [0.00dB] [on]
    Simple mixer control 'Digital Out',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [off]
    Simple mixer control 'Digital Out Source',0
    Capabilities: enum
    Items: 'Front' 'PCM' 'Digital In'
    Item0: 'Front'
    Simple mixer control 'Dolby Digital LED',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [off]
    Simple mixer control 'Power LED',0
    Capabilities: pswitch pswitch-joined penum
    Playback channels: Mono
    Mono: Playback [on]
    Simple mixer control 'What-U-Hear',0
    Capabilities: cvolume cvolume-joined cswitch cswitch-joined cswitch-exclusive penum
    Capture exclusive group: 0
    Capture channels: Mono
    Limits: Capture 0 - 46
    Mono: Capture 40 [87%] [5.21dB] [off]

    5. Проверка воспроизведения из командной строки
    Код:
    ~ $ mplayer -ao alsa:device=hw=1.0 *.flac
    MPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team
    mplayer: could not connect to socket
    mplayer: No such file or directory
    Failed to open LIRC support. You will not be able to use your remote control.
    
    Playing 01.Civil War.flac.
    Audio only file format detected.
    ==========================================================================
    Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
    AUDIO: 44100 Hz, 2 ch, s16le, 920.0 kbit/65.20% (ratio: 115005->176400)
    Selected audio codec: [ffflac] afm: ffmpeg (FFmpeg FLAC audio)
    ==========================================================================
    AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
    Video: no video
    Starting playback...
    A:  23.3 (23.2) of 462.0 (07:42.0)  1.0%
    6. В случае успеха - поиск путей интеграции с системой. Например, KMPlayer позволяет выбирать драйвер и устройство из числа подключенных

    После прочтения съесть!




    Полезные темы:

  2. # 0+

    Если Вы впервые на нашем Форуме:

    1. Обратите внимание на список полезных тем в первом сообщении.
    2. Термины и наиболее популярные модели в сообщениях подсвечиваются быстрыми подсказками и ссылками на соответствующие статьи в МагВикипедии и Каталоге.
    3. Для изучения Форума не обязательно регистрироваться - практически весь профильный контент, включая файлы, картинки и видео, открыты для гостей.

    С наилучшими пожеланиями,
    Администрация Форума автозвука Магнитола


     

  3. #2
    Местный Бригадир
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 66288 Аватар для dorozhnik16
    Регистрация
    25.02.2011
    Город/село
    من روسيا مع الحب
    Сообщений
    1,330
    Спасибо (Раздал)
    1373
    Спасибо (Получил)
    1499
    Более 5 лет на форуме

    Re: USB DAC и USB Audio для Android

    ~ $ mplayer -ao alsa:device=hw=1.0 *.flac MPlayer 1.0rc3-4.4.4 (C) 2000-2009 MPlayer Team mplayer: could not connect to socket mplayer: No such file or directory Failed to open LIRC support. You will not be able to use your remote control. Playing 01.Civil War.flac. Audio only file format detected. =========================================================

    все равно не получается выбрать в качестве устройства для воспроизведения (поддержки .mp3 пока нет, но .wav можно прослушать через встроенный динамик планшета, а на .ogg программа намертво зависла). Отправил отладочную информацию и комментарии разработчикам.Полезные темы:CarPC VS китайская магнитола 2din на Android ?ФИЛИН DAC-4. ЦАП с задержкамиIriver Astell & Kern AK100 Hi-Fi Audio PlayerUSB к штатной магнитоле, возможно ли?Выбор МР3 с USBВласти Израиля и редакция журнала АвтоЗвук с террористами и читателями в переговоры не вступают (c) AEОтветить на сообщение   Вверх ▲СпасибоНе одобряю      Вызов модератора  + Ответить в темеБыстрый переход Android Вверх
     ШрифтРазмер          Показывать подпись  « CyanogenMod | - »

    Социальные закладки

     ВКонтакте Facebook Twitter Я.ру Mail.ru LiveJournal

    Ваши права

    Вы можете создавать новые темыВы можете отвечать в темахВы можете прикреплять вложенияВы можете редактировать свои сообщения BB коды Вкл.Смайлы Вкл.[IMG] код Вкл.[VIDEO] code is Вкл.HTML код Выкл.Trackbacks are Выкл.Pingbacks are Выкл.Refbacks are Вкл.Правила форума   -- MAGNITOLA TEAM-- Mobile Style Official   -- Default Mobile Style-- Mobile Lightweight Style     -- English (US)-- Russian (RU)  Обратная связь MAGNITOLA.ORG Архив ВверхТекущее время: 19:54.Часовой пояс GMT +4.Powered by vBulletin® Version 4.1.12 Copyright © 2013 vBulletin Solutions, Inc. All rights reserved. SEO by vBSEO ©2011, Crawlability, Inc.Перевод: zCarotUser Editable Threads, Thread Admins and Group Moderators provided by Threadmins and Group Moderators (Lite) - vBulletin Mods & Addons Copyright © 2013 DragonByte Technologies LtdMAGNITOLA © 2001-2050 by HoSStiA
    SEO by vBSEO ©2011, Crawlability, Inc.

    Быстрый ответ



    Большое спасибо за проделанную работу HoSStiA

    искренне рад что хоть кто нибудь их мог раскачать..
    извиняюсь..


  4. #3
    маХЕРовый Начальник смены Array Репутация: лучше не знать Аватар для Rover
    Регистрация
    05.06.2006
    Город/село
    г. Жуковский
    Сообщений
    1,851
    Спасибо (Раздал)
    848
    Спасибо (Получил)
    4412

    Re: USB DAC и USB Audio для Android

    Цитата Сообщение от HoSStiA Посмотреть сообщение
    К вопросу про подключение внешних USB звуковых карт и аудио-контроллеров (например, чтобы организовать оптический S/PDIF выход на своем планшете) к устройствам на Android.

    На сегодняшний день можно только констатировать, что полноценная поддержка периферийных аудиоустройств в платформе Android отсутствует.
    Как жаль, что люди этого не знают, а то бы дурью не маялись
    http://pccar.ru/showpost.php?p=251689&postcount=102


  5. #4
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942
    Автор

    Re: USB DAC и USB Audio для Android

    Цитата Сообщение от Rover Посмотреть сообщение
    Как жаль, что люди этого не знают, а то бы дурью не маялись
    Prestigio как раз на RK3066 - как приедет из ремонта, так можно будет повторить эксперимент.

    На 7-й минуте показано, что Samsung S III поддерживает подключение USB Audio устройств:



    Подтверждаю, что он их видит, то есть при подключении "на горячую" плеер выключает встроенный динамик, а при отключении возобновляет воспроизведение.
    Но, в случае моего SoundBlaster, он не выполняет Reset карты, поэтому она продолжает молчать. В Nokia я уже знаю, как это сделать вручную (см. пост #1).

    А вот старый ноутбук с установленным Debian-linux далеко не последнего релиза делает всё самостоятельно, то есть карта сама включается при подключении (гаснет индикатор Mute, начинается музыка), и выключается при отключении (заканчивается музыка, включается индикатор Mute).

    Поэтому понимаю, что установив на планшет Linux эта задача решается на 1-2-3, но зато пропадает весь остальной функционал планшета (мобильные linux, даже Ubunta touch - это пока "злой" и очень сырой софт).


  6. #5
    хочешь АЗ спроси меня как Начальник кадров
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 2315118 Аватар для fox proteus
    Регистрация
    24.01.2007
    Город/село
    Москва, Ховрино
    Сообщений
    17,364
    Спасибо (Раздал)
    31421
    Спасибо (Получил)
    33722

    Re: USB DAC и USB Audio для Android

    Понимаю, что вопрос напрямую к теме не относится, но вот косвенно - ещё как.

    Дядь Ровер, помнишь мы из аудиочипов мат.плат ёжиков выплачивали оптику - сначала ты из 701-го, а потом я из 901-го. Там было сначала просто - подпаяться к ногам микросхемы, размеров в .5мм и с шагом в .7мм, а потом - сложно, исправить биос, чтобы он правильно чип инициализировал.

    А вот, например, заглядывал кто-нибудь внутрь планшетов? Может у них там тоже чип, который по умолчанию на борту спидиф несёт и его оттуда надо просто достать? А чтобы не сильно колдовать корпус можно заменить обычный наушниковый выход на спидиф-мини, который и наушниковый и оптический одновременно.

    Натапал толком, простите за очепятки


  7. #6
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942
    Автор

    Re: USB DAC и USB Audio для Android

    Цитата Сообщение от fox proteus Посмотреть сообщение
    который по умолчанию на борту спидиф несёт и его оттуда надо просто достать?
    fox proteus, Поддержка кодека для Mali-400, sndspdif.ko, даже у меня есть.

    Китайцы предлагают и готовые аппаратные решения:


    ---------- Сообщение добавлено 11.08.2013 в 23:15 ----------

    Могу сказать, что планшет с хорошим процессором и железом неплохо отработает свой потенциал и при подключении по AUX к процессорному ГУ, только "навалить" вряд ли получится (кстати, на этом самом этапе хороший "шнурок" от jack 3.5 к коннектору ГУ (jack 3.5 или 2хRCA) в помощь, лучше экранированный!).

    Получить же чистую цифру от непонятно чего - это уже красиво. Хотелось было поплакать над темой, на которую набрел после наводки Rover'а

    , но потом вспомнил, что есть еще и Wexler TAB 7b . К слову, не покупайте дешевых российских подделок, берите лучше сразу в Китае по себестоимости.


  8. #7
    хочешь АЗ спроси меня как Начальник кадров
    Репутация Репутация Репутация Репутация
    Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация Репутация
    Репутация: 2315118 Аватар для fox proteus
    Регистрация
    24.01.2007
    Город/село
    Москва, Ховрино
    Сообщений
    17,364
    Спасибо (Раздал)
    31421
    Спасибо (Получил)
    33722

    Re: USB DAC и USB Audio для Android

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

    Спасибо за ссылки. С удовольствием ознкомился


  9. #8
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942
    Автор

    Re: USB DAC и USB Audio для Android

    Цитата Сообщение от fox proteus Посмотреть сообщение
    А вот планшет, который в свободное от машины время можно по полной использовать именно как планшет - это уже интереснее.
    Вот человек взял и реализовал недостающий функционал в управлении "как смог"
    Нажмите на изображение для увеличения
Название: 1069414.png
Просмотров: 1786
Размер:	19.1 Кб
ID:	427584

    После прочтения съесть!


    , и немного облагороженная версия

    После прочтения съесть!




  10. #9
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942
    Автор

    Re: USB DAC и USB Audio для Android

    Реализация ALSA в первых аппаратах Samsung Galaxy S

    После прочтения съесть!


    Название: sgs-gains.png
Просмотров: 0

Размер: 17.2 Кб


    Вложения

  11. #10
    Ушел в ЛАС Технический директор Array Репутация: лучше не знать Аватар для HoSStiA
    Регистрация
    11.01.2004
    Город/село
    Столиця
    Сообщений
    13,050
    Спасибо (Раздал)
    11289
    Спасибо (Получил)
    14942
    Автор

    Re: USB DAC и USB Audio для Android

    Оказывается, конфигурацию стокового ядра Android, при отсутствии /proc/config.gz, все-таки можно попытаться извлечь напрямую из образа zImage, хранящемся на RamDisk загрузчика initrd.

    Проще всего это сделать в среде linux, например Debain или Ubuntu.

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

    1. Создаем образ раздела initrd на самом устройстве:
    Код:
    android / # dd if=/dev/block/nandc of=/sdcard/boot.img
    2. На Linux'е устанавливается программа abootimg
    Код:
    debian: ~ $ sudo apt-get install abootimg
    3. Созданный образ переносится любым удобным способом на linux-машину, желательно в отдельную директорию, где необходимо выполнить:
    Код:
    debian: ~ $ abootimg -x boot.img
    , после чего создадутся файлы
    bootimg.cfg
    initrd.img
    zImage (искомый образ ядра)

    4. Из исходных кодов ядра для sunxi можно позаимствовать скрипт
    https://github.com/linux-sunxi/linux...tract-ikconfig
    Код:
    #!/bin/sh
    # ----------------------------------------------------------------------
    # extract-ikconfig - Extract the .config file from a kernel image
    #
    # This will only work when the kernel was compiled with CONFIG_IKCONFIG.
    #
    # The obscure use of the "tr" filter is to work around older versions of
    # "grep" that report the byte offset of the line instead of the pattern.
    #
    # (c) 2009,2010 Dick Streefland <dick@streefland.net>
    # Licensed under the terms of the GNU General Public License.
    # ----------------------------------------------------------------------
    
    cf1='IKCFG_ST\037\213\010'
    cf2='0123456789'
    
    dump_config()
    {
    	if	pos=`tr "$cf1\n$cf2" "\n$cf2=" < "$1" | grep -abo "^$cf2"`
    	then
    		pos=${pos%%:*}
    		tail -c+$(($pos+8)) "$1" | zcat > $tmp1 2> /dev/null
    		if	[ $? != 1 ]
    		then	# exit status must be 0 or 2 (trailing garbage warning)
    			cat $tmp1
    			exit 0
    		fi
    	fi
    }
    
    try_decompress()
    {
    	for	pos in `tr "$1\n$2" "\n$2=" < "$img" | grep -abo "^$2"`
    	do
    		pos=${pos%%:*}
    		tail -c+$pos "$img" | $3 > $tmp2 2> /dev/null
    		dump_config $tmp2
    	done
    }
    
    # Check invocation:
    me=${0##*/}
    img=$1
    if	[ $# -ne 1 -o ! -s "$img" ]
    then
    	echo "Usage: $me <kernel-image>" >&2
    	exit 2
    fi
    
    # Prepare temp files:
    tmp1=/tmp/ikconfig$$.1
    tmp2=/tmp/ikconfig$$.2
    trap "rm -f $tmp1 $tmp2" 0
    
    # Initial attempt for uncompressed images or objects:
    dump_config "$img"
    
    # That didn't work, so retry after decompression.
    try_decompress '\037\213\010' xy    gunzip
    try_decompress '\3757zXZ\000' abcde unxz
    try_decompress 'BZh'          xy    bunzip2
    try_decompress '\135\0\0\0'   xxx   unlzma
    try_decompress '\211\114\132' xy    'lzop -d'
    
    # Bail out:
    echo "$me: Cannot find kernel config." >&2
    exit 1
    7. Выполнив данный скрип на linux-машине:
    Код:
    debian: ~ $ ./extract-ikconfig.sh zImage > .config
    , при удачном стечении обстоятельств, получаем восстановленный файл конфигурации ядра для включения недостающего функционала, в нашем случае поддержки USB Audio, и последующей сборки как новой версии ядра, так и дополнительных модулей из исходников.


Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •  
  cc by-nc-sa