Ctrl+K

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