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("播放完成")
        }
        
        
    }
  • 相关阅读:
    IE下PNG透明图片fadeIn出现黑边的问题
    愿闻其翔记(一)
    简单的日期选择器
    HTML5 贪吃蛇
    HTML5小程序,变化的色彩
    HTML5 Canvas 基本图形画法
    帝国CMS实现一二级导航及其高亮
    php中json_decode()和json_encode()
    JavaScript重复元素处理
    JQuery在光标位置插入内容
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/Swift_Audio.html
Copyright © 2011-2022 走看看