Я использую следующий код для воспроизведения файла .CAF в приложении iPad через Monotouch:
public void PlayClick()
{
PlaySound("Media/Click.caf");
}
private void PlaySound(string soundFile)
{
//var mediaFile = NSUrl.FromFilename(soundFile);
//var audioPlayer = new SystemSound(mediaFile);
//audioPlayer.PlaySystemSound();
var audioPlayer = new SystemSound(soundFile);
if (audioPlayer != null)
{
audioPlayer.PlaySystemSound();
}
}
Это работает, найдите в симуляторе - фактически все варианты, которые я пробовал (SystemSound,AVAudioPlayer и т. Д.) В симуляторе работают нормально, но я еще не получил версию для воспроизведения на реальном устройстве.Все звуковые файлы помечены как «Контент», и я проверил пакет, загруженный на iPad, и эти файлы определенно находятся в подпапке «Медиа».Если я изменяю код для использования SystemSound (через конструктор с Url), я получаю InvalidOperationException с деталями:
Не удалось создать системный идентификатор звука для файла URL: //localhost/private/var/mobile/Applications/AC24496E-12E9-4690-B154-BA1AD1123EDC/Sample.app/Media/Click.caf;ошибка = SystemSoundUnspecified
Кто-нибудь знает, что я делаю не так?Спасибо за любые подсказки, чтобы вывести меня из этой проблемы!