Что означает код HRESULT 0xC00DAFC9 (MF_E_TIMELINECONTROLLER_NOT_ALLOWED)?

 
Предыдущий Следующий
MF_E_TIMELINECONTROLLER_UNSUPPORTED_SOURCE_TYPE MF_E_TIMELINECONTROLLER_CANNOT_ATTACH

MF_E_TIMELINECONTROLLER_NOT_ALLOWED

Что означает MF_E_TIMELINECONTROLLER_NOT_ALLOWED

MF_E_TIMELINECONTROLLER_NOT_ALLOWED (0xC00DAFC9) — запрошенная операция отдельного MediaPlayer недопустима, пока его временной шкалой управляет MediaTimelineController.

После подключения контроллера состояние, позиция и скорость синхронизируемых проигрывателей должны изменяться согласованно. Если другой участок приложения продолжает независимо управлять одним проигрывателем, возникает второй конкурирующий путь управления. Это состояние отличается от MF_E_TIMELINECONTROLLER_CANNOT_ATTACH: здесь контроллер уже участвует в работе, а запрещена конкретная операция.

Что проверить и как подтвердить исправление

Запишите точный вызов, вернувший 0xC00DAFC9, и проверьте, установлен ли в этот момент MediaPlayer.TimelineController. Просмотрите обработчики кнопок, горячих клавиш, системных медиакоманд и собственный код воспроизведения: один из них может менять позицию, скорость или состояние отдельного проигрывателя в обход общей временной шкалы.

В сценарии синхронизации Microsoft рекомендует отключить автоматический MediaPlaybackCommandManager у каждого проигрывателя и управлять общей временной шкалой через MediaTimelineController.Start, Pause, Resume, Position и ClockRate. Исправление подтверждается тем, что тот же пользовательский сценарий выполняется без прямого конфликтующего управления отдельным MediaPlayer.

Документация для результата 0xC00DAFC9: MediaTimelineController synchronization · MediaTimelineController · Microsoft synchronization sample.


Нужно найти другой код? Найти другой код состояния или ошибки.