简体   繁体   中英

Audio Start Delay For The First Time - ios Swift

I am creating an application with five buttons. When I click on each button each audio will play. It is working. Now my problem is when I click first button audio play with 1 second delay(App stuck for 1 second) and play. Next time clicks a button audio play without any delay. What could be the issue here?

I am using the following code to play an audio

var currentAudio = try? AVAudioPlayer(contentsOfURL: NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("sample_audio", ofType: "mp3")!));
 currentAudio!.stop()
currentAudio!.currentTime = 0
 currentAudio!.play();

Please someone help me to finds this issue.

You could use AVAudioPlayer's .prepareToPlay() method to preload the player's buffers , it will increase AVAudioPlayer's performance (faster start).

The idea is to prepare the player some time before actually playing it:

currentAudio?.prepareToPlay()

then later, in your play function, it will start immediately:

currentAudio?.play()

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM