|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
[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 |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
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.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#3 | |
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
![]() eh ma il mio problema è che non so come prendere lo stream... ad esempio prendiamo youtube... come ricevo lo stream?? |
|
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Quote:
http://www.youtube.com/watch?v=pVYp2sgA9M0 Lo stream e' questo http://www.youtube.com/player2.swf?f...tail=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 pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. Ultima modifica di gugoXX : 11-03-2008 alle 23:45. Motivo: Non con VisualBasic.Devices.Audio.Play |
|
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
|
Quote:
![]() non c'è ad esempio qualche api che mi potrebbe aiutare? ps: da dove hai preso lo stream che mi hai dato come esempio? grazie Ultima modifica di mamo139 : 11-03-2008 alle 23:53. |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
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-...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.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Codice:
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(); }
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:18.