コード例 #1
0
        private ISampleProvider BuildAudioStream(string[] urls, double rate, int pitch)
        {
            ISampleProvider mixer;

            using (var client = new HttpClient())
            {
                mixer = new SampleJoiner(urls.Select(u =>
                {
                    var url = AUDIO_DL_PREFIX + u;
                    var oggDownloadRequest = client.GetAsync(url).Result;
                    if (!oggDownloadRequest.IsSuccessStatusCode)
                    {
                        throw new Exception("ogg download fail");
                    }

                    var oggStream = oggDownloadRequest.Content.ReadAsStreamAsync().Result;
                    return((WaveStream) new NAudio.Vorbis.VorbisWaveReader(oggStream));
                }));
            }

            return(new AudioStreamModifier(mixer, rate, pitch));
        }
コード例 #2
0
        private ISampleProvider BuildAudioStream(string[] urls, double rate, int pitch)
        {
            ISampleProvider mixer;

            using (var client = new HttpClient())
            {
                mixer = new SampleJoiner(urls.Select(u =>
                {
                    var url = AUDIO_DL_PREFIX + u;
                    var oggDownloadRequest = client.GetAsync(url).Result;
                    if (!oggDownloadRequest.IsSuccessStatusCode)
                        throw new Exception("ogg download fail");

                    var oggStream = oggDownloadRequest.Content.ReadAsStreamAsync().Result;
                    return (WaveStream) new NAudio.Vorbis.VorbisWaveReader(oggStream);
                }));
            }

            return new AudioStreamModifier(mixer, rate, pitch);
        }