MPMusicLayerController需要7秒才能在Xamarin.IOS(IOS v11.3)中开始播放

MPMusicLayerController需要7秒才能在Xamarin.IOS(IOS v11.3)中开始播放,ios,xamarin.ios,delay,upgrade,mpmusicplayercontroller,Ios,Xamarin.ios,Delay,Upgrade,Mpmusicplayercontroller,我正在开发Xamarin.IOS应用程序。在我的应用程序中,我在我的应用程序中使用了用户音乐用于报警。我使用MPMusicLayerController.ApplicationMusicLayer播放警报 var musicPlayer = MPMusicPlayerController.ApplicationMusicPlayer; musicPlayer.SetQueue(MPMediaQuery.SongsQuery); musicPlayer.Play(); 当我第一次尝试在应用程序打

我正在开发Xamarin.IOS应用程序。在我的应用程序中,我在我的应用程序中使用了用户音乐用于报警。我使用MPMusicLayerController.ApplicationMusicLayer播放警报

var musicPlayer = MPMusicPlayerController.ApplicationMusicPlayer;
musicPlayer.SetQueue(MPMediaQuery.SongsQuery);
musicPlayer.Play();
当我第一次尝试在应用程序打开时播放警报时,大约需要7秒才能开始播放警报。从第二次开始,如果我播放闹钟,立即播放。下面是我播放警报的代码

var musicPlayer = MPMusicPlayerController.ApplicationMusicPlayer;
musicPlayer.SetQueue(MPMediaQuery.SongsQuery);
musicPlayer.Play();

此问题仅在IOS v11.3中出现。在IOS v11.2之前,它工作正常。

尝试调用
PrepareToPlay()

调用此方法会预加载缓冲区并获取播放所需的音频硬件,从而将调用
play()
方法和开始声音输出之间的延迟降至最低

详情请参阅