Udostępnij przez


Zmienianie synchronizacji programu Sequencer

[Funkcja skojarzona z tą stroną, MCI, jest starszą funkcją. Został zastąpiony przez MediaPlayer. MediaPlayer został zoptymalizowany pod kątem systemów Windows 10 i Windows 11. Firma Microsoft zdecydowanie zaleca, aby nowy kod używał MediaPlayer zamiast MCI, jeśli jest to możliwe. Firma Microsoft sugeruje, że istniejący kod, który używa starszych interfejsów API, należy przepisać go do korzystania z nowych interfejsów API, jeśli to możliwe.]

Notatka

Komunikacja wolna od uprzedzeń: Microsoft wspiera zróżnicowane i integracyjne środowisko. W tym dokumencie znajdują się odwołania do słowa "slave". Przewodnik stylu firmy Microsoft dla Bias-Free Communications rozpoznaje to jako słowo wykluczające. To sformułowanie jest używane, ponieważ jest obecnie sformułowaniem używanym w oprogramowaniu. W celu zapewnienia spójności ten dokument zawiera ten wyraz. Gdy to słowo zostanie usunięte z oprogramowania, poprawimy ten dokument tak, aby był wyrównany.

Aby zmienić tryb synchronizacji urządzenia sequencer, użyj komunikatu polecenia MCI_SET z flagami MCI_SEQ_SET_MASTER i MCI_SEQ_SET_SLAVE. Dwa części składowe w strukturze MCI_SEQ_SET_PARMS, dwMaster i dwSlave, służą do określania trybów synchronizacji głównego i podrzędnego.

Tryb główny synchronizacji steruje informacjami o synchronizacji wysyłanymi przez sequencer do portu wyjściowego. Poniżej przedstawiono stałe dla parametru dwMaster i odpowiadających im głównych trybów synchronizacji.

Stały Tryb synchronizacji
MCI_SEQ_MIDI Synchronizacja MIDI. Wysyłanie informacji o chronometrażu do portu wyjściowego przy użyciu komunikatów zegara MIDI.
MCI_SEQ_SMPTE Synchronizacja SMPTE. Wysyłanie informacji o chronometrażu do portu wyjściowego przy użyciu komunikatów w ramce MIDI.
MCI_SEQ_NONE Brak synchronizacji. Nie wysyłaj informacji o chronometrażu.

 

Tryb synchronizacji podrzędnej kontroluje, skąd sekwencer pobiera informacje o synchronizacji do odtwarzania pliku MIDI. Poniżej przedstawiono stałe dla dwSlave składnika i ich odpowiadające tryby synchronizacji podrzędnej.

Stały Tryb synchronizacji
MCI_SEQ_FILE Synchronizacja plików. Uzyskaj informacje o chronometrażu z pliku MIDI.
MCI_SEQ_MIDI Synchronizacja MIDI. Uzyskiwanie informacji o chronometrażu z portu wejściowego przy użyciu komunikatów zegara MIDI.
MCI_SEQ_SMPTE Synchronizacja SMPTE. Uzyskiwanie informacji o chronometrażu z portu wejściowego przy użyciu komunikatów w ramce MIDI.
MCI_SEQ_NONE Brak synchronizacji. Uzyskaj informacje o chronometrażu tylko z poleceń MCI i ignoruj informacje o chronometrażu (takie jak zmiany tempa) w pliku MIDI.

 

Notatka

Obecnie sekwencjonator MCI MIDI obsługuje tylko tryb bez synchronizacji (MCI_SEQ_NONE) w przypadku synchronizacji głównej. W przypadku synchronizacji podrzędnej obsługuje tylko tryb synchronizacji plików (MCI_SEQ_FILE) i bez trybu synchronizacji (MCI_SEQ_NONE).