zoukankan      html  css  js  c++  java
  • Xcode9学习笔记65

    import UIKit
    import AVFoundation//引入流媒体基础框架,它能收集各种多媒体数据,这些数据可以来自不同的输入设备,比如摄像机、录音机等
    
    class ViewController: UIViewController {
        
        var audioPlayer:AVAudioPlayer = AVAudioPlayer()//初始化音频播放对象,并将音频播放对象作为视图控制器类的属性
    
        override func viewDidLoad() {
            super.viewDidLoad()
            // Do any additional setup after loading the view, typically from a nib.
            
            //获得音频会话对象,该对象属于单例模式,也就是说不用开发者而自行实例化,这个类在各种音频环境中,起着非常重要的作用
            let session = AVAudioSession.sharedInstance()
            
            do {//在音频播放前,首先创建一个异常捕捉语句
                try session.setActive(true)//启动音频会话管理,此时会阻断后台音乐的播放
                try session.setCategory(AVAudioSessionCategoryPlayback)//设置音频操作类别,表示该应用仅支持音频的播放
                UIApplication.shared.beginReceivingRemoteControlEvents()//设置应用程序支持接受远程控制事件
                
                let path = Bundle.main.path(forResource: "MarryYou", ofType: "mp3")//定义一个字符串常量,描述声音文件的路径
                let soundUrl = URL(fileURLWithPath: path!)//将字符串路径转换成网址路径
                
                try audioPlayer = AVAudioPlayer(contentsOf: soundUrl)//对音频播放对象进行初始化,并加载指定的音频文件
                audioPlayer.prepareToPlay()//为音频播放做好准备
                audioPlayer.volume = 1.0//设置音频播放对象的音量大小
                audioPlayer.numberOfLoops = -1//设置音频播放次数,-1为无线循环播放
                audioPlayer.play()
            } catch {
                print(error)
            }
        }
    
        override func didReceiveMemoryWarning() {
            super.didReceiveMemoryWarning()
            // Dispose of any resources that can be recreated.
        }
    
    
    }
    

      

  • 相关阅读:
    第四周查漏补缺20165307
    第四周作业 20165307
    第三周作业 20165307
    20165307 第一次测试总结
    20165307 预备作业3 Linux安装及学习
    20165307 学习基础和C语言基础调查
    20165307 我期望的师生关系
    第十周课下补做
    20165336 2016-2017-2 《Java程序设计》第9周学习总结
    20165336 实验三 敏捷开发与XP实践
  • 原文地址:https://www.cnblogs.com/LisenH/p/7858993.html
Copyright © 2011-2022 走看看