2015-05-10 2 views
0

Я пытался найти способ играть в живой поток ShoutCast с помощью C#. Я изучал интернет для этого, и до сих пор я нашел несколько способов играть в потоки с фиксированной длиной, но я хочу играть в живую радиостанцию.Пытается прочитать и воспроизвести живой поток ShoutCast с C#

Кто-нибудь знает, как это сделать?

+0

Ищите спецификации и выясните, какой протокол потоковой передачи он использует и реализует это соответственно. – Chris

+0

Я знаю, как реализовать соединение, мне нужна информация о том, как читать непрерывный поток mp3-данных и воспроизводить его. – MarK

ответ

0

Потоки SHOUTcast в основном являются потоками HTTP, но с разбитым заголовком строки состояния. Вместо HTTP/1.1 200 OK вы получаете ICY 200 OK. Оттуда вы можете определить формат и кодек из заголовка ответа Content-Type (например, audio/mpeg) и потокового воспроизведения по мере поступления данных.

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

Icy-MetaData: 1

Затем в заголовках ответа, вы увидите Icy-MetaInt, чтобы сказать вам, сколько байт между каждым блоком метаданных. См. Это сообщение для получения дополнительной информации о том, как обрабатывать эти метаданные: https://stackoverflow.com/a/4914538/362536

Смежные вопросы