View Full Version : [c] riproduzione audio da pagina internet
dunque...
come tutti sappiamo, ci sono alcune pagine internet che contengono contenuti video e audio.
il mio obiettivo è riprodurre le tracce audio li presenti e le tracce audio dei video senza utilizzare un browser, ovvero senza vedere la pagina che normalmente deve riprodurli.
è facile con le socket richiedere il sorgente della pagina, ma non mi viene in mente come poter riprodurre con un programma in c la traccia audio in questione...
qualcuno sa come aiutarmi?
grazie mille
Ma proprio in C?
Non ne ho proprio voglia...
Una volta che hai il binario da suonare o lo stream audio (tipo radio su internet), in C# sono 2 click e una riga di codice.
Ma proprio in C?
Non ne ho proprio voglia...
Una volta che hai il binario da suonare o lo stream audio (tipo radio su internet), in C# sono 2 click e una riga di codice.
eh purtroppo c# non lo conosco... :(
eh ma il mio problema è che non so come prendere lo stream... ad esempio prendiamo youtube... come ricevo lo stream??
eh purtroppo c# non lo conosco... :(
eh ma il mio problema è che non so come prendere lo stream... ad esempio prendiamo youtube... come ricevo lo stream??
Se la pagina e' questa
http://www.youtube.com/watch?v=pVYp2sgA9M0
Lo stream e' questo
http://www.youtube.com/player2.swf?fs=1"=&title=Kaki+King+-+&sourceid=y&video_id=pVYp2sgA9M0&l=239&sk=1bPfoxJpnCOzCWiuccP61wU&Pull+Me+Out+Alive=&+Music+Video=&t=OEgsToPDskKyCB2opfyOSUEKcRP9UCtw&hl=en&plid=AARIMSZITdgJGNCpAAAAIIAoQAA&sdetail=p%253A%2F
come dicevo questo stream si puo' vedere o anche solo suonare, in C# con 1 riga di codice, embeddando il WindowsMediaPlayer direttamente nella form che vuoi (o in background)
Forse si puo' ancora piu' semplicemente con il VisualBasic.Devices.Audio.Play (modifica: purtoppo no ho provato)
Se invece vuoi stare sullo standard puoi compilare VLC e dovrebbe funzionare anche li'.
Se la pagina e' questa
http://www.youtube.com/watch?v=pVYp2sgA9M0
Lo stream e' questo
http://www.youtube.com/player2.swf?fs=1"=&title=Kaki+King+-+&sourceid=y&video_id=pVYp2sgA9M0&l=239&sk=1bPfoxJpnCOzCWiuccP61wU&Pull+Me+Out+Alive=&+Music+Video=&t=OEgsToPDskKyCB2opfyOSUEKcRP9UCtw&hl=en&plid=AARIMSZITdgJGNCpAAAAIIAoQAA&sdetail=p%253A%2F
come dicevo questo stream si puo' vedere o anche solo suonare, in C# con 1 riga di codice, embeddando il WindowsMediaPlayer direttamente nella form che vuoi (o in background)
Forse si puo' ancora piu' semplicemente con il VisualBasic.Devices.Audio.Play (modifica: purtoppo no ho provato)
Se invece vuoi stare sullo standard puoi compilare VLC e dovrebbe funzionare anche li'.
oh capito... e se volessi rimanere nel mio programmino a console in c?? :p
non c'è ad esempio qualche api che mi potrebbe aiutare?
ps: da dove hai preso lo stream che mi hai dato come esempio?
grazie
Forse qui dentro trovi qualocsa
winmm.dll
public static extern int waveOutGetNumDevs();
public static extern int waveOutPrepareHeader(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
public static extern int waveOutUnprepareHeader(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
public static extern int waveOutWrite(IntPtr hWaveOut, ref WaveHdr lpWaveOutHdr, int uSize);
public static extern int waveOutOpen(out IntPtr hWaveOut, int uDeviceID, WaveFormat lpFormat, WaveDelegate dwCallback, int dwInstance, int dwFlags);
public static extern int waveOutReset(IntPtr hWaveOut);
public static extern int waveOutClose(IntPtr hWaveOut);
public static extern int waveOutPause(IntPtr hWaveOut);
public static extern int waveOutRestart(IntPtr hWaveOut);
public static extern int waveOutGetPosition(IntPtr hWaveOut, out int lpInfo, int uSize);
public static extern int waveOutSetVolume(IntPtr hWaveOut, int dwVolume);
public static extern int waveOutGetVolume(IntPtr hWaveOut, out int dwVolume);
Ovviamente occorre anche costruire il wrapper per lo streamer.
Se provi a leggere qui, qualcuno l'ha gia' fatto per il C#.
http://www.codeproject.com/KB/audio-video/cswavplay.aspx
"Basterebbe" convertire il tutto in C.
Mi sembra di avere capito che queste API suonino solo i WAV, quindi mi sa non gli stream come quello di YouTube.
static void Main(string[] args)
{
Console.WriteLine("Preparing");
WindowsMediaPlayer wmp = new WMPLib.WindowsMediaPlayer();
wmp.URL = "mms://wstream5a.di.fm/harddance";
Console.WriteLine("Play");
Console.ReadKey();
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.