Вы знаете, извините, но это настолько очевидно, что я не могу помочь, имеющие такое впечатление, что либо вы заявили свой вопрос в неправильном направлении, или вы пропустили какие-то огромные вещи.
Вроде, основная математика.
currentPosition
предоставляется в секунд и это double
так что имеет фракции. Чтобы получить его в миллисекундах, просто умножьте это на 1000.
// get your player from UI
AxWindowsMediaPlayer player1 = .....;
// not even a cast is needed
double millis = player1.Ctlcontrols.currentPosition * 1000;
Таким образом, чтобы получить позицию в миллисекундах не нужно ничего, кроме основных интерфейсов AxWMP.
Если вы действительно хотите получить это как текст или временный код, они также могут быть извлечены, но для работы с правильным интерфейсом потребуется приведение (поскольку AxWindowsMediaPlayer по умолчанию использует IWMPControls, и для этого нужны IWMPControls2/3):
string text = ((IWMPControls2)player1.Ctlcontrols).currentPositionString;
string text2 = ((IWMPControls2)player1.Ctlcontrols).currentPositionTimecode;
Я попытался написать axWindowsMediaPlayer1.Controls.CurrentPositionTimeCode, но компилятор не нравится. У вас есть идея? – dodotu
@dodotu - это нижний регистр «c» в «Timecode» и в «current». Компилятор должен был предоставить вам сообщение об ошибке, а не сообщение «Мне не нравится». – BartoszKP
Я знаю, но когда я нажал ctrl + space после Controls, currentPositionTimecode не отображается. Фактически моя проблема была в этом. – dodotu