1

私の質問はこの質問と非常によく似ています

私は音楽のURLを持っています。http://site.com/audio.mp3のようなURL 。このファイルをYouTubeのようにオンラインで再生したい。クラスまたはコードがこれを実行できることを知っていますか?

すべてをダウンロードせずにオンラインでmp3を再生するにはどうすればよいですか?

ファイルキャッシュを再生するために作成されますが、少なくともすぐにファイルを再生します

4

2 に答える 2

5

ライブラリNAudiohttp://naudio.codeplex.com/で解決策を見つけまし

解決

public static void PlayMp3FromUrl(string url)
{
    using (Stream ms = new MemoryStream())
    {
        using (Stream stream = WebRequest.Create(url)
            .GetResponse().GetResponseStream())
        {
            byte[] buffer = new byte[32768];
            int read;
            while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
            {
                ms.Write(buffer, 0, read);
            }
        }

        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);
                }
            }
        }
    }
}`

ここで答えを見つけ ましたC#を使用してストリームからオーディオを再生します

于 2012-07-28T21:44:42.240 に答える
1

IrKlangのような多くのライブラリは、ストリーミングオーディオのサポートを提供しています。最小限の開発作業をお探しの場合は、ぜひご覧になることをお勧めします。

http://www.ambiera.com/irrklang/

于 2012-07-28T21:34:44.283 に答える