zoukankan      html  css  js  c++  java
  • 在MonoTouch中播放音频

    在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功能比较强大,有一些属性和方法,我会在另一篇文章中专门介绍。

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

      

    欢迎到我的网站看看
  • 相关阅读:
    【Linux】iptables相关实践,原理及参数解释
    【Linux】解决Linux服务器内存不足问题
    【原】Linux环境下Shell调用MySQL并实现定时任务
    Nginx配置,413 Request Entity Too Large错误解决
    【MAC】Mac下部分常用的小工具
    好久不见
    HashMap工作原理(转载)
    Java中long和Long有什么区别 (转载)
    Explain in detail the steps/processes that occur from the moment you type a URL in a browser and hit enter
    Find Minimum in Rotated Sorted Array leetcode java
  • 原文地址:https://www.cnblogs.com/Caiyinsoft/p/2121029.html
Copyright © 2011-2022 走看看