#windows-phone-7 #video-streaming
#windows-phone-7 #потоковое видео
Вопрос:
Я использую MediaElement
для воспроизведения видео в своем приложении. Я добавил элементы управления для воспроизведения, паузы, перемотки назад и вперед. В обработчике событий кнопки переадресации я пытаюсь переслать видеоклип на 5 секунд. код, который я использовал для этого, приведен ниже.
if(myMediaElement.CanSeek)
{
myMediaElement.Position = TimeSpan.FromSeconds(2);
myMediaElement.Play();
}
Но видеоклип не пересылается, вместо этого он останавливает воспроизведение видео. Может кто-нибудь, пожалуйста, скажите мне, что происходит не так.
Ответ №1:
Вам необходимо начать воспроизведение потока, прежде чем вы сможете установить позицию.
Переместите вызов CanSeek
и настройку положения до тех MediaOpened
пор, пока не будет вызвано событие.
Смотрите Примечания в MSDN http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement.position (v = VS.95).aspx для подтверждения.
Комментарии:
1. Как вы предположили, в событии MediaOpened я вызвал CanSeek(), он вернул true, затем в следующей строке я устанавливаю позицию как «myMediaElement. Position = TimeSpan.FromSeconds(2);». но происходит то же самое, воспроизведение видео останавливается, и запускается событие MediaFailed. У вас есть какие-либо идеи, почему это происходит?
Ответ №2:
Используя пример valueconverter здесь, с настройками ползунка, чтобы получить позиции http://diggthedrazen.com/2011/07/08/using-an-ivalueconverter-to-create-a-player-with-a-seek-bar-on-windows-phone/