2014-02-14 1 views
0

У меня есть проект, который использует IWMPPlayer4, интерфейс ActiveX для Windows Media Player. Скачивать и воспроизводить видео из Интернета легко: просто звоните put_URL, и он подключается к видео и начинает его воспроизводить.Как загрузить файл в IWMPPlayer без его воспроизведения?

Но что, если я хочу рассказать ему загрузить видео с определенного URL-адреса, но не начинает играть в него? Из документации, которую я видел, как я это сделал, неясно, но я полагаю, что должен быть способ ее достижения. Кто-нибудь знает как?

Я пытался дозвониться get_controls, а затем либо Pause или Stop метод полученного интерфейса IWMPControls сразу после вызова put_URL, но оба вызывал те же проблемы: нет средств массовой информации фактически не загружены, и нажав на кнопку воспроизведения на экране не играет ничего.

ответ

0

Это было долгое время, так как я работал с WMP API, но я думаю, что вы хотите:

IWMPSettings::put_autoStart

Из ссылке MSDN выше:

Вы должны установить put_autoStart до FALSE непосредственно перед установкой IWMPCore :: put_URL, IWMPCore :: put_currentPlaylist или IWMPCore :: put_currentMedia в скинах и удаленных элементах управления проигрывателем, если вы хотите убедиться, что медиа i tem не запускается сразу. Кроме того, если вы не установили put_autostart в TRUE непосредственно перед с указанием элемента мультимедиа, вы не должны полагаться на этот параметр в качестве замены для использования метода IWMPControls :: play.

+0

Это похоже на ту же основную проблему: я говорю 'put_autoStart (false)', а затем, когда я нажимаю кнопку «Воспроизведение» в пользовательском интерфейсе, ничего не играет. Как ни странно, это происходит только в первый раз; после загрузки других носителей он работает. Есть ли какая-то инициализация, которую мне нужно запустить или что-то еще? –

+0

@MasonWheeler - Я подозреваю, что вам нужно отключить кнопку воспроизведения до тех пор, пока контент (указанный по URL) не будет готов к воспроизведению. Это IWMPCore :: get_status() вернет «готов» (я забыл фактическую строку состояния). Вы можете использовать уведомление IWMPEvents :: StatusChange, чтобы узнать, когда изменилось состояние, чтобы вы знали, когда обновлять пользовательский интерфейс и активировать кнопку. – selbie

Смежные вопросы