PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   LeoCar (http://pccar.ru/forumdisplay.php?f=80)
-   -   А поддержка инфилловского радио не планируется? (http://pccar.ru/showthread.php?t=4316)

Marassa 30.01.2008 21:21

А поддержка инфилловского радио не планируется?
 
Сабж, собственно. Если бы поддерживалось радио, всерьез рассмотрел бы переход на этот фронт.

Димон 30.01.2008 22:21

Ааааа, понравилось как менюшки выезжают-заезжают? Мне тоже. Наверное можно т.к. центрифужники както выковыряли dllку.

2func 31.01.2008 15:57

Цитата:

Сообщение от Димон (Сообщение 49369)
Ааааа, понравилось как менюшки выезжают-заезжают? Мне тоже. Наверное можно т.к. центрифужники както выковыряли dllку.

Да они целый SDK раздают - бери не хочу.... Скажи Андрюх!

Marassa 31.01.2008 16:26

Цитата:

Сообщение от frontera (Сообщение 49536)
Да они целый SDK раздают - бери не хочу.... Скажи Андрюх!

Ну во-первых, не очень-то и раздают, скорее случайно забыли убрать из одного из ранних дистрибутивов StreetDeck :)
А во-вторых, сам по себе SDK к Леокару не пришьешь - с ним разбираться и программировать надо.

Rainbow 31.01.2008 16:35

ну а таким ламерам как я (вернее не программерам) вообще хотца готового законченного решения:-)

LI()n 31.01.2008 18:11

Цитата:

Сообщение от Rainbow (Сообщение 49541)
ну а таким ламерам как я (вернее не программерам) вообще хотца готового законченного решения:-)

Его всем хочется :)))
Просто времени на все нехватает... :(

Marassa 31.01.2008 18:34

Цитата:

Сообщение от LI()n (Сообщение 49568)
Просто времени на все нехватает... :(

Понятно... Ну если время найдется с инфилловским радио поразбираться, то я готов подробно рассказать как там все устроено, снабдить нужными dll-ками, объяснить какая функция что делает и т.п.

LI()n 01.02.2008 10:22

Цитата:

Сообщение от Marassa (Сообщение 49575)
Понятно... Ну если время найдется с инфилловским радио поразбираться, то я готов подробно рассказать как там все устроено, снабдить нужными dll-ками, объяснить какая функция что делает и т.п.

Если у тебя есть вся необходимая инфа для работы радио - выкладывай прям тут, чего мелочиться :)
Серьезно, выкладывай!

Marassa 01.02.2008 13:24

Вложений: 1
Цитата:

Сообщение от LI()n (Сообщение 49634)
Если у тебя есть вся необходимая инфа для работы радио - выкладывай прям тут, чего мелочиться :)
Серьезно, выкладывай!

Да пожалуйста :)

Хардверно радио в инфилле устроено так: аналоговый аудиовыход радиотюнера жостко припаян к линейному входу звуковой карты. Управление радио осуществляется через I/O порты 28H-2FH, 378H-37AH. Конкретное назначение портов неизвестно, да и не очень-то существенно, так как существует библиотека InfillG4Cmd.dll, через которую успешно работают StreetDeck и Centrafuse.

Функции InfillG4Cmd.dll, имеющие отношение к радио:

Private Declare Function OpenInfill Lib "InfillG4Cmd.dll" Alias "_mxn_OpenINFILL@0" () As Long
- инициализация Инфилла. По идее должна вызываться самой первой

Private Declare Function IsOpenInfill Lib "InfillG4Cmd.dll" Alias "_mxn_IsOpenINFILL@0" () As Long
- проверка статуса инфилла (инициализирован или нет)

Private Declare Function CloseInfill Lib "InfillG4Cmd.dll" Alias "_mxn_CloseINFILL@0" () As Long
- закрытие Инфилла

Private Declare Function OpenRadio Lib "InfillG4Cmd.dll" Alias "_mxn_OpenRadio@0" () As Long
- инициализация радио, выдвижение антенны

Private Declare Function IsOpenRadio Lib "InfillG4Cmd.dll" Alias "_mxn_IsOpenRadio@0" () As Long
- проверка статуса радио (инициализировано или нет)

Private Declare Function CloseRadio Lib "InfillG4Cmd.dll" Alias "_mxn_CloseRadio@0" () As Long
- закрытие радио, убирание антенны

Private Declare Function SetChannelRadio Lib "InfillG4Cmd.dll" Alias "_mxn_SetChannelRadio@8" (ByVal AM As Long, ByVal Channel As Long) As Long
- установка частоты. Для FM AM=0, для AM - AM=1. Частота для FM задается как целое в сотых долях мегагерца, т.е. для 101.7 Channel=10170, для AM - в килогерцах.

Private Declare Function GetFMStereoState Lib "InfillG4Cmd.dll" Alias "_mxn_GetFMStereoState@0" () As Long
- проверка статуса стерео

Private Declare Function GetChannelDetectState Lib "InfillG4Cmd.dll" Alias "_mxn_GetChannelDetectState@4" (ByVal Param As Long) As Long
- определение текущей частоты

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

Назначение файлов в прилагаемом архиве:
InfillG4Cmd.dll - самая главная библиотека
infillcom.dll, io.dll, winio.sys - нужны для ее работы
sttubedevice203.dll, infillfront.inf - для радио вроде бы и не нужны
SampleApp* - примеры приложений

Marassa 01.02.2008 13:55

Теперь немножко мыслей об идеологии работы фронтенда с радио. Тут существуют две школы мысли:

1. Включить линейный вход в ВЫХОДНОМ микшере звуковой платы. Так сделано в InfillStation. Тогда звук с радио фигачит прямо на усилитель, и с компа можно только громкость отрегулировать, больше ничего. Дешево и сердито. В принципе может вполне сойти для первой версии.

2. Включить линейный вход во ВХОДНОМ микшере звуковой платы. Тогда звук с радио оцифровывается и может быть обработан компом как угодно перед выдачей его на усилитель. Так сделано в Centrafuse. Такой подход позволяет реализовать всякие вкусности типа:
- запись с радио в mp3-файл
- пауза радио (с использованием кольцевого буфера)
- всякая обработка сигнала типа эквалайзера
- визуализация и т.п.
Но это уже надо программировать.

Ну и напоследок не могу не вернуться к своей больной теме - гетерогенные плей-листы. Очень хотелось бы увидеть возможность составлять плей-листы/списки фаворитов, в которых можно было бы свободно чередовать разные источники - MP3, CD, FM радио, интернет радио и т.п. То есть для того, чтобы переключиться с играющей директории mp3 на одну из любимых радиостанций, я не хочу идти в модуль "Радио" и нажимать там кнопку номер 3, а хочу одним тыком вытащить на экран единый список любимых музык, который может выглядеть, например, так:

Директория My Music/Paris Combo
FM-радиостанция 95.2
Интернет-радио Aural Moon
Плей-лист "Блюз"
Директория My Music/Anekdoten
CD

и одним тыком выбрать желаемое, не вдаваясь в подробности того, что музыка эта происходит из технически разнородных источников.

Желание вроде бы такое простое и очевидное, но это не реализовано ни в одном известном мне фронтенде. Легко реализуется в винампе, только он с инфилловским радио не работает :(

PS А модуль "Радио" в его классическом виде, с кнопочками и функцией "Скан" лично мне ВООБЩЕ не нужен - я и так знаю, какие станции я слушаю и готов забить их в список фаворитов руками. А если вдруг посканировать захочется, то это так редко бывает, что ради этого я могу и InfillStation запустить.


Часовой пояс GMT +4, время: 23:07.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot