Máte někdo zkušenosti s internetovým radiem v C# ?
Chtěl bych si prostě přez program v C# spustit internetové rádio. Ale nechci aby se mi otevřel int. prohlížeč ale abych slyšel pouze zvuk radia. A jakou knihovnu na to třeba použít ?
Předem díky.
Máte někdo zkušenosti s internetovým radiem v C# ?
Chtěl bych si prostě přez program v C# spustit internetové rádio. Ale nechci aby se mi otevřel int. prohlížeč ale abych slyšel pouze zvuk radia. A jakou knihovnu na to třeba použít ?
Předem díky.
DirectShow urcite
ale taky muzes pouzit cca 20 radkovou app kde to groo bude socket na http ze ketreho ziskas stream a ten pustis na zvukovku
Třeba něco takového, kód funkční, ale je jen pro inspiraci. Používá NAudio http://naudio.codeplex.com/
using System;
using System.IO;
using System.Threading;
using System.Net;
using NAudio.Wave;
namespace ConsoleApplicationTest
{
class Program
{
private static Stream ms = new MemoryStream();
public static void PlayMp3FromUrl(string url)
{
new Thread(delegate(object o)
{
var response = WebRequest.Create(url).GetResponse();
using (var stream = response.GetResponseStream())
{
byte[] buffer = new byte[65536]; // 64KB chunks
int read;
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
var pos = ms.Position;
ms.Position = ms.Length;
ms.Write(buffer, 0, read);
ms.Position = pos;
}
}
}).Start();
// nasysli nejaka data dopredu
while (ms.Length < 16384)
Thread.Sleep(1000);
ms.Position = 0;
using (WaveStream blockAlignedStream = new BlockAlignReductionStream(WaveFormatConversionStream.CreatePcmStream(new Mp3FileReader(ms))))
{
using (WaveOut waveOut = new WaveOut(WaveCallbackInfo.FunctionCallback()))
{
waveOut.Init(blockAlignedStream);
waveOut.Play();
while (waveOut.PlaybackState == PlaybackState.Playing)
{
System.Threading.Thread.Sleep(100);
}
}
}
}
static void Main(string[] args)
{
PlayMp3FromUrl("http://icecast2.play.cz:8000/dance-radio64.mp3");
}
}
}
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku