zoukankan      html  css  js  c++  java
  • Swift-音频播放

    1.简单使用

    import UIKit
    import AVFoundation
    
    class ViewController: UIViewController {
    
        lazy var player: AVAudioPlayer? = {
            // 1. 创建播放器(NSURL, 只能是本地URL 地址, 远程音乐, 使用这个类, 播放不了)
            let url = Bundle.main.url(forResource: "简单爱.mp3", withExtension: nil)
           
            do {
                
                let player = try AVAudioPlayer(contentsOf: url!)
                
                player.delegate = self
                
                
                // 设置可以速率播放
                player.enableRate = true
                
                // 准备播放
                player.prepareToPlay()
                // 开始播放
                //player.play()
                return player
                
            }catch {
                print(error)
                return nil
            }
            
    
        }()
        
        
        func playBack() -> () {
            
            // 1. 获取音频会话
            let audioSession: AVAudioSession = AVAudioSession.sharedInstance()
            
            do {
                // 2. 设置会话类型
                if #available(iOS 10.0, *) {
                    try audioSession.setCategory(.playback, mode: .default, options: .defaultToSpeaker)
                } else {
                    // Fallback on earlier versions
                }
                
                // 3. 激活会话
                try audioSession.setActive(true)
                
            }catch {
                print(error)
            }
            
            
        }
        
        
        @IBAction func play() {
             playBack()
            player?.play()
            
        }
        @IBAction func pause() {
            
            player?.pause()
            
            
        }
        @IBAction func stop() {
            
            // 重置当前播放事件
            player?.currentTime = 0
            player?.stop()
            
        }
        
        @IBAction func kuaijin() {
            
            // 这个值, 自动会做好容错适配, 不需要我们处理, 负数, 或者, 大于最大播放时长的数值
            player?.currentTime += 15
            
        }
        
        @IBAction func kuaitui() {
            
            player?.currentTime -= 15
            
        }
        
        @IBAction func ratePlay() {
            
            player?.rate = 10.0
            
        }
        
        @IBAction func volumn(sender: UISlider) {
            
            player?.volume = sender.value
            
        }
        
    
    }
    
    
    extension ViewController: AVAudioPlayerDelegate {
        
        
        func audioPlayerDidFinishPlaying(_ player: AVAudioPlayer, successfully flag: Bool) {
            print("播放完成")
        }
        
        
    }
  • 相关阅读:
    成为 Team Leader 后我最关心的那些事
    《管理的实践》读书心得
    玩黑客学校CTF
    DHCP中继器
    test
    初窥XSS跨站脚本攻击
    TCP/IP模型
    逻辑漏洞-客户端验证的邮箱-Web渗透实例之中国教育部青少年普法网站逻辑漏洞
    逻辑漏洞-支付风险-大疆某处支付逻辑漏洞可1元买无人机
    逻辑漏洞-密码找回之验证码发给了客户端
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Swift_Audio.html
Copyright © 2011-2022 走看看