您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何使用Swift播放声音?

如何使用Swift播放声音?

某些评论中建议与 , 和 兼容。

import AVFoundation

var player: AVAudioPlayer?

func playSound() {
    let url = NSBundle.mainBundle().URLForResource("soundName", withExtension: "mp3")!

    do {
        player = try AVAudioPlayer(contentsOfURL: url)
        guard let player = player else { return }

        player.prepareToPlay()
        player.play()

    } catch let error as NSError {
        print(error.description)
    }
}
import AVFoundation

var player: AVAudioPlayer?

func playSound() {
    guard let url = Bundle.main.url(forResource: "soundName", withExtension: "mp3") else { return }

    do {
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
        try AVAudioSession.sharedInstance().setActive(true)

        let player = try AVAudioPlayer(contentsOf: url)

        player.play()

    } catch let error {
        print(error.localizedDescription)
    }
}
import AVFoundation

var player: AVAudioPlayer?

func playSound() {
    guard let url = Bundle.main.url(forResource: "soundName", withExtension: "mp3") else { return }

    do {
        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)            
        try AVAudioSession.sharedInstance().setActive(true)

        /* The following line is required for the player to work on iOS 11. Change the file type accordingly*/
        player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)

        /* iOS 10 and earlier require the following line:
        player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileTypeMPEGLayer3) */

        guard let player = player else { return }

        player.play()

    } catch let error {
        print(error.localizedDescription)
    }
}

确保更改乐曲的名称以及 扩展名文件需要正确导入(Project Build Phases> Copy Bundle Resources)。您可能希望将其放置在assets.xcassets更大的便利中。

对于短声音文件,您可能想要使用非压缩音频格式,例如,.wav因为它们具有最佳的质量和较低的cpu影响。对于短声音文件而言,较高的磁盘空间消耗不应该是大问题。较长的文件,你可能会想要去的压缩格式,如.mp3等页。检查兼容的音频格式CoreAudio

整洁的小资料库使播放声音更加轻松。:) 例如:SwiftySound

Swift 2022/1/1 18:14:19 有389人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶