Пожалуйста, отметьте Ручное управление системой Media Transport Controls Официальное руководство
Вы должны уведомить SystemMediaTransportControls
, когда состояние носителя изменилось изменено, так что система может обновить элементы управления, чтобы отразить текущее состояние. Для этого установите для свойства PlaybackStatus соответствующее значение MediaPlaybackStatus из события CurrentStateChanged объекта MediaElement, которое возникает при изменении состояния мультимедиа.
Итак, SMT C PlaybackStatus
поступает из Событие MediaElement CurrentStateChanged. И вы можете получить PlaybackStatus
со следующим кодом.
void MediaElement_CurrentStateChanged(object sender, RoutedEventArgs e)
{
switch (mediaElement.CurrentState)
{
case MediaElementState.Playing:
_systemMediaTransportControls.PlaybackStatus = MediaPlaybackStatus.Playing;
break;
case MediaElementState.Paused:
_systemMediaTransportControls.PlaybackStatus = MediaPlaybackStatus.Paused;
break;
case MediaElementState.Stopped:
_systemMediaTransportControls.PlaybackStatus = MediaPlaybackStatus.Stopped;
break;
case MediaElementState.Closed:
_systemMediaTransportControls.PlaybackStatus = MediaPlaybackStatus.Closed;
break;
default:
break;
}
}
Обновление
Мне нужно знать, играет ли какое-либо приложение что-то или нет.
Мы не смогли определить, воспроизводится ли другое приложение в приложении UWP, и вы упомянули, что SMT C, который приходит SystemMediaTransportControls.GetForCurrentView()
, относится к текущему приложению, когда вы используете MediaElement
для воспроизведения мультимедиа, но не из системы