最近的项目开发中遇到了这个问题,基本尝试了所有使用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播放音频的四种方法总结所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)