在MonoTouch中播放声音持续一段时间

时间:2013-09-03 20:13:38

标签: c# xamarin.ios

使用MonoTouch库,我想要的是能够在特定时间内播放声音,然后停止播放。它必须在与UI不同的线程上完成。我已经修改了几个不同的选项,我不完全确定目前最好的行动方案是什么。

这些类看起来像这样:

public class Foo
{
    public string FileName { get; set; }
    public string FilePath { get; set; }
    public double Duration { get; set; }
    public double PauseAfter { get; set; }
}

public class FooPlayer
{
    public List<Foo> Foos { get; set; }

    public void PlayFoos()
    {
        foreach (Foo f in Foos)
        {
             //Play the sound
             //Stop the sound after the duration has passed
             //Wait for the duration specified in PauseAfter
             //Continue loop
        }
    }
}   

我一直在修补SystemSound和AvAudioPlayer,但我还没有得到所需的结果。

1 个答案:

答案 0 :(得分:0)

使用计时器,在计时器触发后停止播放。一个类似的问题是here,有一个类似的答案(使用一个Timer),但在Obj-C中。