相关疑难解决方法(0)

使用C#播放流中的音频

C#中是否有一种方法可以直接从System.IO.Stream播放音频(例如MP3),例如从WebRequest返回而不将数据临时保存到磁盘?


NAudio的解决方案

NAudio 1.3 的帮助下,可以:

  1. 将URL中的MP3文件加载到MemoryStream中
  2. 完全加载后,将MP3数据转换为波形数据
  3. 使用NAudio的WaveOut类播放波形数据

如果能够播放半载MP3文件本来不错,但由于NAudio库设计,这似乎是不可能的.

这是完成工作的功能:

    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()))
                { …
Run Code Online (Sandbox Code Playgroud)

.net audio mp3 stream naudio

96
推荐指数
3
解决办法
14万
查看次数

C#录制声卡的音频

我想录制声卡(输出)中的音频.我在codeplex上找到了CSCore,但我找不到任何例子.有谁知道如何使用库来录制声卡中的音频并将记录数据写入硬盘?或者有人知道该库的一些教程吗?

c# audio audio-recording cscore

17
推荐指数
1
解决办法
3万
查看次数

用C#捕获Window的音频

是否可以在C#中以编程方式记录Window的输出声音?有点像记录"你听到的"或"立体声输出"功能(不必选择它们)?

c# windows audio

6
推荐指数
2
解决办法
2万
查看次数

捕捉当前正在播放的声音

是否可以捕获当前在计算机上播放的声音?那么能够将它保存为mp3会很好,但我认为这样做有一些法律问题,所以wav也可以.

我环顾四周,有人建议使用虚拟音频线(c#中的捕获声音输出),从输出端口到麦克风端口,这是必要的吗?

我不是在寻找完整的源代码来做到这一点,虽然这样会很好,只要它可能并且可能是指向我应该关注的libary的指针.

一个.

c# audio

5
推荐指数
1
解决办法
1101
查看次数

标签 统计

audio ×4

c# ×3

.net ×1

audio-recording ×1

cscore ×1

mp3 ×1

naudio ×1

stream ×1

windows ×1