MidiFile
اعلان
public sealed class Strawberry.Sound.Midi.MidiFile
یک فایل استاندارد MIDI (SMF) را به یک فهرست مرتبشدهی MidiEvent با موقعیتهای tick مطلق و زمان محاسبهشده به ثانیه parse میکند.
نکات: از Format 0 (تکترَک) و Format 1 (چند ترَک همزمان) پشتیبانی میکند. Format 2 (ترَکهای متوالی) پشتیبانی نمیشود و استثنا پرتاب میکند. parser کاملاً managed در C# با هیچ وابستگی native نیست، که آن را برای محیطهای WebAssembly / AOT امن میسازد.
سازندهها
MidiFile
void MidiFile(Stream stream)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
stream |
System.IO.Stream |
ویژگیها
Format
قالب فایل MIDI (0 = تکترَک، 1 = چند ترَک).
int Format { get }
TrackCount
تعداد ترَکها در فایل.
int TrackCount { get }
TicksPerQuarterNote
tick به ازای نت چارک (رزولوشن PPQN).
int TicksPerQuarterNote { get }
Events
همهی رویدادهای MIDI ادغامشده از همهی ترَکها، مرتبشده بر اساس tick مطلق (و بهترتیب اصلی برای رویدادهای همtick).
List<MidiEvent> Events { get }
DurationSeconds
کل مدت فایل MIDI به ثانیه.
double DurationSeconds { get }
متدها
SecondsToTicks
یک زمان به ثانیه را به موقعیت tick مطلق تبدیل میکند، با رعایت tempo map.
long SecondsToTicks(double seconds)
پارامترها:
| نام | نوع | توضیحات |
|---|---|---|
seconds |
System.Double |