NAudio - 从 Stream 播放 MIDI
Posted
技术标签:
【中文标题】NAudio - 从 Stream 播放 MIDI【英文标题】:NAudio - Playing back MIDI from Stream 【发布时间】:2013-04-12 08:40:14 【问题描述】:我正在制作游戏并使用 NAudio 播放声音。我想在后台播放 MIDI 文件以进行音乐循环。在文档中搜索它,一无所获。
如何从流中播放 MIDI 文件?
然后循环播放?
谢谢。
【问题讨论】:
很遗憾,这不是 NAudio 的功能。一些更多面向游戏开发的音频库可能会在这里提供更好的选择。 @MarkHeath 感谢您的回复。我正在使用来自winmm.dll
的mciSendString
播放midi 文件
【参考方案1】:
您可以通过DryWetMIDI轻松做到这一点:
using Melanchall.DryWetMidi.Devices;
using Melanchall.DryWetMidi.Core;
// ...
var midiFile = MidiFile.Read("Background music.mid");
// or from stream:
// var midiFile = MidiFile.Read(stream);
var outputDevice = OutputDevice.GetByName("MIDI device to play with");
var playback = midiFile.GetPlayback(outputDevice);
playback.Loop = true;
playback.Start();
在库文档的Playback 文章中阅读有关回放的更多信息。
【讨论】:
以上是关于NAudio - 从 Stream 播放 MIDI的主要内容,如果未能解决你的问题,请参考以下文章