1

C# でサウンド ファイルの特定の部分を再生したいと考えています。たとえば、オーディオ ファイルは 10 秒です。5秒から8秒以内の音を鳴らしたい。

そのため、開始位置と終了位置を持つ特定の部分のみがサウンド ファイルとして再生されます。

C# でのサポートは見つかりませんでした。他の API は役に立ちますか?

4

2 に答える 2

1

.NET 3.0 以降を使用している場合はMediaPlayer、単純なクラスで作業することをお勧めします。MSDNのドキュメントを参照してください。

于 2012-10-25T11:04:19.890 に答える
0

NAudio ( NuGet で利用可能)でそれを行う方法は次のとおりです。

var file = new AudioFileReader("test.mp3");
// skip the first 15 seconds
file.CurrentTime = TimeSpan.FromSeconds(15);
var trimmed = new OffsetSampleProvider(file);
// only play 10 seconds
var takeDuration = TimeSpan.FromSeconds(10);
trimmed.TakeSamples = (int)(trimmed.WaveFormat.SampleRate * takeDuration.TotalSeconds) * trimmed.WaveFormat.Channels;
var player = new WaveOut();
player.Init(new SampleToWaveProvider16(trimmed));
player.Play();
于 2012-10-26T06:21:17.607 に答える