代码之家  ›  专栏  ›  技术社区  ›  Bryan

用单触键播放声音

  •  3
  • Bryan  · 技术社区  · 15 年前

    无论我尝试什么(build->content,NSUrl,filename),我都会得到一个“null异常”:当我尝试在monotouch中播放.caf声音文件时,找不到文件。

    //var path = NSBundle.MainBundle.PathForResource("MatchGame", "caf"); 
    //var gameSong = SystemSound.FromFile( new NSUrl(path, false));
    var gameSong = SystemSound.FromFile("MatchGame.caf");
    gameSong.PlaySystemSound();
    

    这里有一个链接,指向在monotouch中添加声音的视频。 http://www.screencast.com/t/MmE0ZmFh 怎么了?

    2 回复  |  直到 15 年前
        1
  •  8
  •   fickerra    13 年前

    布莱恩,

    您需要使用AVFoundation命名空间和AVAudioPlayer类。

    using Monotouch.AVFoundation;
    
    var mediaFile = NSUrl.FromFilename("myMp3.mp3");
    var audioPlayer = AVAudioPlayer.FromUrl(mediaFile);
    audioPlayer.FinishedPlaying += delegate { audioPlayer.Dispose(); };
    audioPlayer.Play();
    

    您可能需要调整上面的代码-我手头没有MonoDevelop,但这应该会对您有所帮助。

    干杯

    克瑞森特

        2
  •  6
  •   miguel.de.icaza    15 年前

    var path=NSBundle.MainBundle.PathForResource(“MatchGame”、“caf”);

    您可以按照此处介绍的步骤操作(这些步骤适用于图像,但也适用于音频文件):

    http://wiki.monotouch.net/HowTo/Images/Add_an_Image_to_your_Project

    http://wiki.monotouch.net/HowTo/Files/HowTo%3a_Store_Files