我在Windows Phone 8.1应用程序中创建了一个MediaElement,我正在尝试播放mp4视频。当我按下按钮播放视频时,它会显示视频的第一帧(闪屏),但它永远不会超出这个范围,它看起来像一张静止图片。我能做错什么?我也没有从MediaFailed方法中获得任何错误。
private void openButton_Click(object sender, RoutedEventArgs e)
{
shakeImage.Visibility = Visibility.Collapsed;
timer.Stop();
timerReset.Stop();
rotateImage.Stop();
mediaElement.Stop();
Uri explosion = new Uri(BaseUri, "Explode.mp4");
mediaElement.Source = explosion;
mediaElement.Play();
mediaElement.MediaFailed += mediaElement_MediaFailed;
}
void mediaElement_MediaFailed)object sender, ExceptionRoutedEventArgs e)
{
throw new FileNotFoundException();
}
答案 0 :(得分:0)
如果您正在播放手机中的音频文件,则应将“UriKind”改为“相对”,如下所示
Uri explosion = new Uri( "Explode.mp4",UriKind.RelativeOrAbsolute);
//或者你可以用这种方式
Stream stream = isoStore1.OpenFile("Explode.mp4", System.IO.FileMode.Open, System.IO.FileAccess.Read );
this.mediaElement.Stop();
this.mediaElement.SetSource(stream);
mediaElement.Play();
stream.Close();
答案 1 :(得分:0)
原来这是因为Windows Phone 8对文件格式很挑剔,即使它们不正确也不会抛出错误。我将它转换为某种wmv类型,现在似乎可以正常工作。