Свежие обсуждения
Интернет

Интернет радио на кухне и т.д.

1 4 14

Спасибо. Сейчас в отпуске, по приезду поковыряюсь.

 

Слесарь: MP3OpenStation
Судя по исходному коду этой функции, она запрашивает данные от SHOUTcast-сервера для заполнения полей "StationHost", "StationPath" и др.

Я попробовал иначе. Заполнил эти поля, как Вы подсказали, и присвоил статусу "smMP3State" значение "SM_CONNECT". По этому статусу в функции MP3ClientTask() выполняется подключение уже к радиостанции по указанным полям.

Но до подключения дело не доходит. MP3ClientTask() постоянно крутится с состоянием "SM_STATIONS_LIST_OPEN_SOCKET", т.к. функция TCPOpen() упорно возвращает "MySocket = INVALID_SOCKET". Исследовал функцию TCPOpen(), и обнаружил, что происходит сканирование сокетов (for(hTCP = 0; hTCP < TCP_SOCKET_COUNT; hTCP++)), проходится по всему списку и переходит на "return INVALID_SOCKET;" (// If there is no socket available, return error.). Более детальный анализ показал, что все сокеты отвергаются в строках:
SyncTCB();
// See if this socket matches the desired type
if(MyTCB.vSocketPurpose != vSocketPurpose)
continue;
т.е. постоянно "if(MyTCB.vSocketPurpose != vSocketPurpose) = true"
MyTCB.vSocketPurpose = 0x09; vSocketPurpose=0x0C;
В исходниках вижу "#define TCP_PURPOSE_MP3_CLIENT 12"

Пробовал присваивать "smMP3State = SM_STATIONS_LIST_OPEN_SOCKET", т.е. самое начало - получение списка радиостанций с SHOUTcast-сервера, но здесь также происходит зацикливание на этой TCPOpen(), т.е. как бы нет подходящих свободных сокетов. А куда они подевались?

....
Обнаружил в интернете вырезку со стека за 2007й год: "#define TCP_PURPOSE_MP3_CLIENT 9" (файл TCPIPConfig.h).
....
Теперь все начало вертеться на "smMP3State = SM_CONNECT_WAIT" (// Wait for connection to be established).
Т.е. в режиме отладки останавливаю прогоамму и получаю это состояние. При пошаговом выполнении оказывается, что в разделе "case SM_CONNECT_WAIT:" (if(TCPIsConnected(MySocket))) функция TCPIsConnected(MySocket) всегда возвращает false.

 

Мда... как оказалось... та радиостанция не работает (вчера работала).

Вписал другую.

"smMP3State" сменился на "SM_PLAYING", через WEB-интерфейс вижу, что появилось название радиостанции и, возможно, название текущей песни. Но в наушниках тихо. Завтра буду дальше копать.

 

У меня старенький комп и я слушаю радио через инет прогой Radiocent. Скачал на их сайте http://www.radiocent.ru/
И не нужно никаких компов навороченных, тянет и так.

 

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

 

pan4a: У меня старенький комп и .... b не нужно никаких компов навороченных, тянет и так.
А у меня вовсе без ПК работает

В Ethernet втекают диф. биты, в USB втекают питающие электроны а из AUDIO вытекает искаженная синусоида (две!)

 

Круто!!!

 

Сергей К, а поделиться конструкцией? а то все хвалятся, а вот свое творение в массы что то жмут....

 

Я взял схемы и исходники с сайта Микрочипа и чуть подправил под свою плату (немного ноги местами поменял).
Запустил - услышал музыку, но дальше дело не пошло. Привалило много работы и плата пока лежит в коробочке
Собственно кроме этих фото пока других материалов нету.

 

нууу... как всегда...