我正在开发基于Windows 7的Silverlight应用程序开发。我一直无法找到一种方法来以编程方式在Windows 7手机中播放音频文件。过去几天我一直在使用Google,但我无法得到任何解决方案。 C#中有一个类SoundPlayer,但我猜它在Windows 7 Phone中不可用。任何人都可以帮忙吗?在Windows 7中播放音频文件电话
回答
使用Xna播放声音。您可以从Silverlight应用程序交叉引用XNA不过,用于播放声音文件,则需要以下内容:
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio
// ...
Stream stream = TitleContainer.OpenStream("sounds/bonk.wav");
SoundEffect effect = SoundEffect.FromStream(stream);
FrameworkDispatcher.Update();
effect.Play();
所有最适合您的应用程序的开发!
你可以把一个MediaElement的在您的XAML视图:
<MediaElement
x:Name="sound"
Source="sound.wma"
AutoPlay="False" />
然后在后台代码:
sound.Play();
支持的格式有MP3和WMA。
这一个没有为我工作,直到我设置AutoPlay =“真正”。不知道为什么。我在xaml中设置了名称和自动播放,并在代码中设置了source和sound.play()(因为我使用它来播放多个声音),并且它在AutoPlay中不起作用,但它适用于它设置为true。谢谢。 – 2011-08-30 13:39:39
-1因为这种方式杀死任何其他的MP3播放+也停止音乐,如果它在设备上播放。这会让你的WP7应用程序无法通过验证,如果你没有明确获得用户的许可来关闭它的音乐。因为这个,我刚刚被拒绝了。目前在WP7平台上使用压缩音频确实没有好方法。在媒体支持方面,WP7肯定相当薄弱。 – Jonny 2011-08-31 17:04:31
您将要使用MediaElement。这里有一个教程
http://create.msdn.com/en-US/education/quickstarts/Video_and_Audio
如何简单地使用内置的行为?
<Button>
<i:Interaction.Triggers>
<i:EventTrigger EventName="Click">
<eim:PlaySoundAction Source="/Alarm1.wma" Volume="1"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</Button>
您需要这两个命名空间。
xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity"
xmlns:eim="clr-namespace:Microsoft.Expression.Interactivity.Media;assembly=Microsoft.Expression.Interactions"
看起来像一个crear解决方案。如果它使用Mediaelement,你会不喜欢? – 2013-06-10 19:42:09
哇,这是伟大的。非常感谢vamana :) – Aqueel 2010-10-26 07:41:02
事实并非如此,Windows Phone 7的Silverlight支持音频播放。请参阅http://msdn.microsoft.com/en-us/library/system.windows.controls.mediaelement(VS.95).aspx – 2010-10-26 07:57:27
请注意 - 您应该只将SoundEffect用于短片段的声音,而不适用于背景音乐。为此,您应该使用MediaElement – 2010-10-26 08:16:23