ios - 如何使用 Swift 3.0 播放附加到图像数组的声音?

标签 ios iphone swift audio imageview

下面的Image数组中调用Image-5时是否可以播放声音

这里是完整的代码,包括设置 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
    }

最佳答案

由于你的间隔是固定的,你已经知道 Image-5 何时会被发射,所以试试这个:

let whichImage: Int = 5
let when = DispatchTime.now() + imageView.animationDuration * TimeInterval(whichImage-1)
DispatchQueue.main.asyncAfter(deadline: when) {
    // Play sound here
}

关于ios - 如何使用 Swift 3.0 播放附加到图像数组的声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47613103/

相关文章:

iphone - 有谁知道他们是怎么做到这个 UI 键盘的?

ios - AudioKit iOS 设置输入和输出设备

ios - 谷歌地图 iOS sdk 获取点击叠加坐标

ios - 使用 getter 和 setter 是否可以将消息从父 UIViewController 传递到 UIView 类中的方法?

iphone - 强制 UIImagePickerController 以横向模式拍摄视频

Swift 结构类型递归

swift UITableViewAutomaticDimension 不工作

ios - 使用RestKit发送POST不返回JSON内容

Ios 自动 map 显示网格上的 war 迷雾效果

iOS Dismiss 和 Present View Controller 自定义动画