gpt4 book ai didi

ios - AVAudioplayer 初始化组件抛出空异常

转载 作者:行者123 更新时间:2023-12-01 18:09:20 24 4
gpt4 key购买 nike

string mediafile;
mediafile=Constants.AudioLink;
NSUrl url1=new NSUrl(mediafile);
var audioplayer=AVAudioPlayer.FromUrl(url1);

URL 正确获取链接,但音频播放器获取值为 null。它在下面抛出异常:
Could not initialize an instance of the type 'AVFoundation.AVAudioPlayer': the native 'initWithContentsOfURL:error:' method returned nil.

可以通过设置忽略此条件: MonoTouch.ObjCRuntime.Class.ThrowOnInitFailure to false
我该怎么办,请给我解决方案。

最佳答案

这是加载/播放 .mp3 的一个非常快速的示例。构建类型为 BundledResource 的文件(我放到了项目的 Resources 文件夹中),因此被放置在应用程序的根目录中)。

我通过 AudioToolbox.AudioSource.Open 进行快速检查确保文件存在、可以读取并且是有效的媒体文件类型,所以我知道 AVAudioPlayer尝试加载它时不会抛出 fatal error 。

AVAudioPlayer player; // Class level object ref
partial void playButtonTouch (UIButton sender)
{
if (player != null && player.Playing)
player.Stop ();
else {
var mp3File = "WildTurkeysEN-US.mp3";
var mp3URL = new NSUrl (mp3File);
Console.WriteLine (mp3URL.AbsoluteUrl);
var mp3 = AudioToolbox.AudioSource.Open (mp3URL, AudioFilePermission.Read, AudioFileType.MP3);
if (mp3 != null) {
Console.WriteLine (mp3.EstimatedDuration);
player = AVAudioPlayer.FromUrl (mp3URL);
player.Play ();
} else {
Console.WriteLine ( "File could not be loaded: {0}", mp3URL.FilePathUrl );
}
}
}

关于ios - AVAudioplayer 初始化组件抛出空异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34917723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com