[英]Windows Phone 8.1 Load Sound Issue with StreamResourceInfo
I am converting an app from WP7 to WP8.1 The codes for WP7 no longer works for WP8.1 我正在将应用程序从WP7转换为WP8.1,WP7的代码不再适用于WP8.1
sfxLeft = new MediaElement(); sfxRight = new MediaElement();
StreamResourceInfo streamInfo = Application.GetResourceStream(new Uri(wav, UriKind.Relative));
var sfx = SoundEffect.FromStream(streamInfo.Stream);
sfxLeft = sfx.CreateInstance();
sfxRight = sfx.CreateInstance();
StreamResourceInfo does not exists for WP8.1 anymore. WP8.1不再存在StreamResourceInfo。 Anyone know how I can re-write this line to make it work for WP8.1? 任何人都知道如何重新编写此行以使其适用于WP8.1吗?
Updated Code. 更新的代码。
Here's the new code below, but now it seems the sfxLeft and sfxRight are always NULL. 这是下面的新代码,但现在看来sfxLeft和sfxRight始终为NULL。 I thought the below code would set sfxLeft and sfxRight, but it's still NULL. 我以为下面的代码将设置sfxLeft和sfxRight,但它仍然为NULL。
protected override void OnNavigatedTo(NavigationEventArgs e)
{
test();
}
async private Task test()
{
Uri wav = new Uri("ms-appx:///Assets/eye_poke.wav", UriKind.RelativeOrAbsolute);
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(wav);
stream = await file.OpenStreamForReadAsync();
sfxLeft = SoundEffect.FromStream(stream).CreateInstance();
sfxRight = SoundEffect.FromStream(stream).CreateInstance();
}
To play sound using XNA Framework in Windows Phone 8.1 Silverlight App 在Windows Phone 8.1 Silverlight应用程序中使用XNA Framework播放声音
StorageFile file = await StorageFile.GetFileFromApplicationUriAsync(wav);
Stream stream = await file.OpenStreamForReadAsync();
SoundEffect Sound1 = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
Sound1.Play();
Or you can use MediaElement for both RT and Silverlight but they are in different namespace, 或者,您可以将MediaElement用于RT和Silverlight,但它们位于不同的命名空间中,
MediaElement mediaElement1 = new MediaElement();
mediaElement1.Source = wav
mediaElement1.AutoPlay = false;
rootGrid.Children.Add(mediaElement1)
Thanks. 谢谢。 I figured it out by using the media element in XAML and then add codes in c# to play it. 我通过使用XAML中的media元素弄清楚了,然后在c#中添加代码来播放它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.