Swift 4 / Xcode 9.2 - 音频播放器

嗨斗

为了播放音频,我在这里浏览了一个更大的帖子。现在产生了最好的版本,但是:

        try AVAudioSession.sharedInstance().setCategory(.playback, mode: .default)

不起作用,在 .playback 上出现 String 成员错误。这是完整的代码:

import Foundation
import UIKit
import AVKit
import AVFoundation

class ViewController: UIViewController {


@IBAction func triggerSample(_ sender: Any) {
    playSound()
}

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)
    }
}

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
}

更新:解决方案写在上面注释掉的部分中:关于这一点,对 Xcode 9.2 使用以下 playSound():

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

    do {
        player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)
        guard let player = player else { return }
        player.play()

    } catch let error {
        print(error.localizedDescription)
    } //end of do/catch

} // end of playSound()
宇宙面包师

这工作得很好。只需确保您的应用程序包中有一个名为“soundName”的 MP3 类型.mp3

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

碰撞播放器 - 敌人(射击游戏 - Swift 4 -SpriteKit)

来自分类Dev

使用 Swift 4 和 Xcode 9 获取 JSON 数据

来自分类Dev

Swift 4、Xcode 9:获取并显示用户的位置

来自分类Dev

如何使用2个音频播放器,而另一个播放器停止播放

来自分类Dev

在Xcode 7 / Swift 2中播放音频不起作用

来自分类Dev

Xcode中是否有现成的音频播放器,类似于音乐,播客和电报应用中使用的音频播放器?

来自分类Dev

Swift:另一个类文件中的播放器音频文件

来自分类Dev

UnrecognizedSelector 如何在 Xcode9/Swift4 中成为可能?

来自分类Dev

架构 x86_64 的未定义符号:xcode 9 Swift 4

来自分类Dev

Xcode 9 中的 Swift 4 - 读取核心数据中的数据失败

来自分类Dev

Xcode 9 Swift 4 由于内存问题而终止(返回一个单元格)

来自分类Dev

无法获得 API 调用以及时为 tableview swift 4 xcode 9 运行

来自分类Dev

xcode9 swift4 致命错误:在展开可选值时意外发现 nil

来自分类Dev

Swift4 Xcode9 通过 segue 在 ViewControllers 之间传递变量

来自分类Dev

可选类型“日期?”的值 未解开;你的意思是使用“!” 或者 '?'?在 Swift 4 XCode 9 中

来自分类Dev

使用不同按钮(iOS、Xcode9、Swift4)在一个视图控制器中上传多个图像

来自分类Dev

我可以在 Xcode 9 中添加对 Swift 2 的支持吗

来自分类Dev

音频播放错误-XCODE 7(Swift 2.0)

来自分类Dev

尝试在Xcode 7 / Swift 2中播放视频时出错

来自分类Dev

Swift中的电影播放器

来自分类Dev

如何使用 prepareForSegue (Swift 4, Xcode 9) 将 UIButton 的标签(一个 Int)传递给其他 ViewController

来自分类Dev

播放.mp4sub文件的播放器

来自分类Dev

Swift 2,Xcode 7.2'NSInternalInconsistencyException

来自分类Dev

隐藏音频播放器

来自分类Dev

隐藏音频播放器

来自分类Dev

Django 音频播放器

来自分类Dev

在Swift 2 Xcode 7 Beta 4中设置基于位置的提醒时出错

来自分类Dev

Xcode-Swift在2x4的网格中排列图像

来自分类Dev

媒体播放器播放 2 首歌曲

Related 相关文章

  1. 1

    碰撞播放器 - 敌人(射击游戏 - Swift 4 -SpriteKit)

  2. 2

    使用 Swift 4 和 Xcode 9 获取 JSON 数据

  3. 3

    Swift 4、Xcode 9:获取并显示用户的位置

  4. 4

    如何使用2个音频播放器,而另一个播放器停止播放

  5. 5

    在Xcode 7 / Swift 2中播放音频不起作用

  6. 6

    Xcode中是否有现成的音频播放器,类似于音乐,播客和电报应用中使用的音频播放器?

  7. 7

    Swift:另一个类文件中的播放器音频文件

  8. 8

    UnrecognizedSelector 如何在 Xcode9/Swift4 中成为可能?

  9. 9

    架构 x86_64 的未定义符号:xcode 9 Swift 4

  10. 10

    Xcode 9 中的 Swift 4 - 读取核心数据中的数据失败

  11. 11

    Xcode 9 Swift 4 由于内存问题而终止(返回一个单元格)

  12. 12

    无法获得 API 调用以及时为 tableview swift 4 xcode 9 运行

  13. 13

    xcode9 swift4 致命错误:在展开可选值时意外发现 nil

  14. 14

    Swift4 Xcode9 通过 segue 在 ViewControllers 之间传递变量

  15. 15

    可选类型“日期?”的值 未解开;你的意思是使用“!” 或者 '?'?在 Swift 4 XCode 9 中

  16. 16

    使用不同按钮(iOS、Xcode9、Swift4)在一个视图控制器中上传多个图像

  17. 17

    我可以在 Xcode 9 中添加对 Swift 2 的支持吗

  18. 18

    音频播放错误-XCODE 7(Swift 2.0)

  19. 19

    尝试在Xcode 7 / Swift 2中播放视频时出错

  20. 20

    Swift中的电影播放器

  21. 21

    如何使用 prepareForSegue (Swift 4, Xcode 9) 将 UIButton 的标签(一个 Int)传递给其他 ViewController

  22. 22

    播放.mp4sub文件的播放器

  23. 23

    Swift 2,Xcode 7.2'NSInternalInconsistencyException

  24. 24

    隐藏音频播放器

  25. 25

    隐藏音频播放器

  26. 26

    Django 音频播放器

  27. 27

    在Swift 2 Xcode 7 Beta 4中设置基于位置的提醒时出错

  28. 28

    Xcode-Swift在2x4的网格中排列图像

  29. 29

    媒体播放器播放 2 首歌曲

热门标签

归档