gpt4 book ai didi

c# - 在 C# 中播放部分声音 (WMA) 文件

转载 作者:可可西里 更新时间:2023-11-01 11:35:06 29 4
gpt4 key购买 nike

我有一个 WMA 文件,其中包含许多不同的音频片段。有什么方法可以播放声音流的一部分吗?

类似于:

public static void Play(Stream soundStream, long start, long end);

最佳答案

您可以使用 NAudio 来做到这一点, 它是 .Net 的音频库。

使用示例 here我能够抛出一个快速测试应用程序来尝试它。使用 WaveSteam.Skip(int seconds) 方法,您可以从文件中的特定位置开始。我一直无法弄清楚如何获得最终位置。下面是在 30 秒标记处启动 wma 文件的修改示例:

    IWavePlayer waveOutDevice = new WaveOut();
WaveStream mainOutputStream;
WaveChannel32 volumeStream;

WaveStream wmaReader = new WMAFileReader(@"F:\My Music\The Prodigy\Music for the Jilted Generation\01 Intro.wma");
volumeStream = new WaveChannel32(wmaReader);

mainOutputStream = volumeStream;

mainOutputStream.Skip(30); //start 30 seconds into the file
waveOutDevice.Init(mainOutputStream);
waveOutDevice.Play();

不过,上面的示例省略了停止播放和处理流的清理代码。希望能有所帮助。

关于c# - 在 C# 中播放部分声音 (WMA) 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13371717/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com