18

我正在 Silverlight 中进行基于 Windows 7 的应用程序开发。我无法找到以编程方式在 Windows 7 手机中播放音频文件的方法。过去几天我一直在谷歌上搜索它,但我找不到任何解决方案。C# 中有一个 SoundPlayer 类,但我猜它在 Windows 7 Phone 中不可用。有人可以帮忙吗?

4

4 回答 4

19

您可以在 XAML 视图中放置一个 MediaElement:

<MediaElement 
    x:Name="sound" 
    Source="sound.wma" 
    AutoPlay="False" />

然后在代码隐藏中:

sound.Play();

支持的格式是 MP3 和 WMA。

于 2010-10-26T07:39:57.870 回答
14

使用 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();

祝您的应用程序开发一切顺利!

于 2010-10-26T06:59:27.687 回答
3

您需要使用 MediaElement。这是一个教程

http://create.msdn.com/en-US/education/quickstarts/Video_and_Audio

于 2011-04-16T07:11:10.363 回答
3

简单地使用内置行为怎么样?

<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"
于 2012-06-22T07:05:14.860 回答