WP7上使用Silverlight播放音频的四种方法总结

WP7上使用Silverlight播放音频的四种方法总结,第1张

概述最近的项目开发中遇到了这个问题,基本尝试了所有使用Silverlight on WP7来播放音频流的方法,总结了一下它们各自的特点。   1、MediaElement   优点:Silverlight自带控件,支持mp3和部分视频格式,方便控制。   缺点:不支持wav格式,需自行编写解码器(MediaStreamSource)。   适用场合:前台播放。   相关代码:无,参考MSDN即可。  

最近的项目开发中遇到了这个问题,基本尝试了所有使用Silverlight on WP7来播放音频流的方法,总结了一下它们各自的特点。

  1、MediaElement

  优点:Silverlight自带控件,支持mp3和部分视频格式,方便控制。

  缺点:不支持wav格式,需自行编写解码器(mediastreamsource)。

  适用场合:前台播放。

  相关代码:无,参考MSDN即可。

  2、Song+MediaPlayer

  优点:小巧轻便,简单易用,支持格式多,可直接从Uri中加载。

  缺点:需启用XNA Framework。

  适用场合:后台播放完整音频。

  相关代码:

song = Song.FromUri( "music"new Uri( "badapple.mp3", UriKind.relative));MediaPlayer.Play(song);

 

  3、SoundEffect+SoundEffectInstance

  优点:可同时播放多段音频,支持简单的音效处理。

  缺点:需启用XNA Framework,且仅支持wav文件。

  适用场合:后台播放多音频片段,并需要音效处理。

soundEffect = SoundEffect.FromStream(stream);
soundEffectInstance = soundEffect.CreateInstance();
soundEffectInstance.Play();

  4、SoundEffect+DynamicsoundEffectInstance

  优点:在3的基础上,DynamicsoundEffectInstance支持buffer机制(BufferNeeded事件和submitBuffer方法)。

  缺点:需启用XNA Framework,且仅支持wav文件,另外DynamicsoundEffectInstance的buffer只支持byte[]格式,同时对wav的格式有所要求(参考资料[1])。

  适用场合:后台播放音频片段,并需要支持buffer机制。

  相关代码:懒得写了,请自行研究。

  参考资料:

  [1]MSDN:Audio API Developers GuIDe

总结

以上是内存溢出为你收集整理的WP7上使用Silverlight播放音频的四种方法总结全部内容,希望文章能够帮你解决WP7上使用Silverlight播放音频的四种方法总结所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1068744.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存