0
是否有可能發揮時,圖像-5被稱爲在下面的圖像陣列如何使用Swift 3.0播放附加到Image Array的聲音?
下面是完整的代碼,包括建立AVAudioPlayer
ImageArray和你建議的代碼聲音:
import UIKit
import AVFoundation
class ViewController: UIViewController {
var player:AVAudioPlayer = AVAudioPlayer()
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad() {
super.viewDidLoad()
var imagesName = ["Image-1.png","Image-2.png","Image-3.png","Image-4.png","Image-5.png","Image-6.png","Image-7.png","Image-8.png","Image-9.png","Image-10.png"]
var images = [UIImage]()
for i in 0..<imagesName.count{
images.append(UIImage(named: imagesName[i])!)
}
imageView.animationImages = images
imageView.animationDuration = 0.5
imageView.animationRepeatCount = 1
imageView.startAnimating()
do
{
let audioPath = Bundle.main.path(forResource: "song", ofType: "mp3")
try player = AVAudioPlayer(contentsOf: NSURL(fileURLWithPath: audioPath!) as URL)
}
catch
{
//ERROR
}
let whichImage: Int = 5
let when = DispatchTime.now() + imageView.animationDuration * TimeInterval(whichImage-1)
DispatchQueue.main.asyncAfter(deadline: when) {
self.player.play()
// Play sound here
}
嗨 - 感謝FO請幫忙。我已經更新了完整的代碼上面的,但是在顯示圖片-5 Song.mp3的不火 - 這將觸發動畫您使用的每幅圖像0.5秒所以延遲應爲2.5秒完成 –
幾秒鐘後,不是5秒。然而聲音播放開始可能與顯示圖像不完全同步。 –
喜魯斯蘭Serebriakov - 我已經嘗試了您的推薦代碼(請參見上文),但它看起來像有2-3秒的延遲,你播放音頻文件與AVAudioPlayer第一次,你有什麼更多的想法? –