在MonoTouch中播放音频

来源:互联网 时间:1970-01-01

在IOS设备上,经常会碰到多媒体的播放。本文介绍音频播放。

播放声音有两种选择:

1.SystemSound

2.AVAudioPlayer

SystemSound

如果音频时间短(30秒以内),且未压缩,SystemSound是个好选择。

引入命名空间

using MonoTouch.AudioToolbox;

具体代码

SystemSound sound=null;

var audioFile=NSUrl.FromFilename("Sound/splash.wav");sound= SystemSound.FromFile(audioFile);sound.PlaySystemSound();

用SystemSound播放的一个优势是反映速度快。如果在启动画面时,想加入声音播放,用这个很合适。

注意

一个要注意的地方是,最好声明成类级变量。MonoTouch会自动销毁对象,如果声明为方法级变量,极有可能过程执行完了,但声音还没有播放完就忽然停止。

AVAudioPlayer

30秒以上的音频文件,使用AVAudioPlayer。AVAudioPlayer还可以播放压缩的音频,比如mp3。

命名空间

MonoTouch.AVFoundation;

具体代码

private MonoTouch.AVFoundation.AVAudioPlayer audioplayer;

 private void playBackgroundMusic() { stopBackgroundMusic(); NSUrl audioFile=NSUrl.FromFilename("Sound/splash.mp3"); audioplayer= MonoTouch.AVFoundation.AVAudioPlayer.FromUrl(audioFile); if (audioplayer!=null) { //audioplayer.NumberOfLoops=int.MaxValue; audioplayer.Play(); } } private void stopBackgroundMusic() { if (audioplayer!=null) { audioplayer.Stop(); audioplayer.Dispose(); audioplayer=null; } }

注意
AVAudioPlayer第一次初始化是,需要一些时间。所以最好是在引导画面和主画面中间,启动加载这个类。
AVAudioPlayer功能比较强大,有一些属性和方法,我会在另一篇文章中专门介绍。

写到这还有一个要注意的地方,就是文件路径的大小写。在模拟器上运行时,大小写关系不大,但在真机上运行,大小写就有区别了。一定要注意这个。

欢迎到我的网站看看(www.itzui.com)

相关阅读:
Top