每当我播放像下面这样的音频文件时,开始播放音频需要几秒钟。我从一些论坛上看到并理解,如果我们在其中分配对象,AVAudioPlayer 将需要几秒钟才能开始播放。我想在我想玩之前更早地分配这个对象(可能是 Appdelegate 本身),这样当我想玩它时,它会立即播放。
NSURL *audioPathURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:audioName ofType:@"wav"]];
audioP = [[AVAudioPlayer alloc]initWithContentsOfURL:audioPathURL error:NULL];
[appDelegate.audioP play];
但是,我在运行时动态传递音频 url,所以我想知道如何更早地分配对象,然后能够稍后传递动态音频 url 路径?
请注意,我的问题与第一次播放声音时 AVAudioPlayer 的慢启动 在现有问题中,他们正在讲述一个音频文件并在需要时播放它。但是,我有许多不同的音频文件,并且 url 路径是在运行时随机生成的,所以我不知道要设置和播放的实际 url 路径是什么。所以,这里提到的答案->第一次播放声音时 AVAudioPlayer 的慢启动 对我的问题没有帮助。我不能使用prepareToPlay,因为音频路径url是在运行时设置的,而不是一直使用一个音频来播放,会随机选择20多个音频文件并设置一次播放一个。所以,我需要正确的答案,这不是一个重复的问题。
谢谢!