AVAudioPlayer无法初始化

问题描述 投票:1回答:1

在Xamarin.iOS应用程序中,AVAudioPlayer用于录制和播放一些音频文件。

用户非常快速地记录并保存一些音频文件,当他尝试播放其中一个音频文件时,它会在行中抛出一个System.Exception:

NSError error;
_player = new AVAudioPlayer(NSUrl.FromFilename(_audioPlaybackFilePath), "m4a", out error);

System.Exception:无法初始化“AVFoundation.AVAudioPlayer”类型的实例:本机“initWithContentsOfURL:fileTypeHint:error:”方法返回nil。通过将MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure设置为false可以忽略此条件。

存在给定路径中的文件。

  1. 有什么迹象表明问题可能是什么?
  2. 有没有办法将MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure设置为false,因为它在Exception StackTrace中声明?
c# ios xamarin xamarin.ios avaudioplayer
1个回答
0
投票

正如@SushilHangover指出的那样,使用AVAudioPlayer.FromData并使用如下流来提供它:

    theStream.Position = 0;
    AVAudioPlayer.FromData(NSData.FromStream(theStream));

AND,这非常重要,流始终定位为0。

© www.soinside.com 2019 - 2024. All rights reserved.