编辑代码

//3.2语音播报
//
//ViewController.swift
//VideoPlay_Sandbox
//
//Created by Zhifeng Chen on 2020/8/3.
//Copyrights © 2020 Zhifeng Chen.All rights reserved.
//

import UIKit
import AVKit

class ViewController:UIViewController{
    @IBAction funce Play(_sender:Any)
    {
        //打开在沙盒中的视频文件test.mov
        let path =Bundle.main.path(forResource:"test",ofType:"mov")
        //转化为URL
        let url = URL(fileURLWithPath:Play!)
        //打开AVPlayer
        let player =AVPlayer(url:url)
        //AVPlayerViewController实例化
        let playerViewController=playerViewController()
        //设置播放器
        playerViewController.player=player
        //添加播放器的View大小和范围
        playerViewController.view.frame=CGRect(x:20,y:100,width:self.view.bounds.width-40,height:200)
        self.addChild(playerViewController)
        self.view.addSubview(playerViewController.view)
            }
}

//3.7完整代码
//
//ViewController.swift
//AnimalUnderstanding
//
//Created by Zhifeng Chen on 2020/8/3.
//Copyright © 2020 Zhifeng Chen.All rights reserved.
//

import UIKit
//导入视频支持库
import AVKit
//导入音频支持库
import AVFoundation

class ViewController: UIViewController{
    //是否播放视频标记
    var playFlag=falae
    //视频播放控制器
    var playerViewController=AVPlayerViewController()
    //音频播放器变量
    var soundPlayer : AVAudioPlayer!

    override funce viewDidLoad(){
        super.viewDidLoad()
        //Do any additional setup after loaing the view.
        let iv =sellf.view.viewWithTag(4)! as! UIImageview
        //每个图片出现的间隔时间为0.5秒
        let img =UIImage.animatedImageNamed("frame_",duration:0.5)
        //设置动画
        iv.image=img

        //开启定时器,自动调用相关函数
        Timer.scheduleTimer(timerInterval:2.0,target:self,selector:#selector(dorTimer),userInfo:nil,repeats:true)
    }
@objo func dorTimer(){
    let iv =self.view.viewWithTag(4)!
    UIView.animate(withDuration:2,animations:{
        iv.transform=iv.transform.rotated(by:CGFloat(360))
    })
}

@IBAction func onPlayAudio(_sender:UIButton){
    //获取当前按钮的title
    let title=sender.currentTitle
    //从沙河中读取文件所在途径,文件名为bird.mp3
    let path =Bundle .main.path(forResource:title,ofType:"mp3")
    //将路径转化为URL
    let url=URL(fileURLWithPath:path!)
    //调用AVAuioPlayer函数,生成播放器
    soundPlayer=try?AVAudioPlayer(contentsOf:url)
    //播放器播放声音,默认是循环播放方式
    soundPlayer.Play()
}
@IBAction func onPlayVideo(_sender:UIButton){
    if !playFlag{
        //打开在沙盒中的视频文件test.mov
        let path=Bundle.main.path(forResource:"rollinwild",ofType:"mp4")
        //转化为URL
        let url=URL(fileURLWithPath:path!)
        //打开AVPlayer
        let player=AVPlayer(url:url)
        //AVPlayerViewController实例化
        player.play()
        //设置播放器
        playerViewController.player=player
        //获得当前按钮的位置和尺寸
        let buttonPosition=sender.frame
        //视频播放的位置x
        let x =buttonPosition.origin.x-200
        //播放视频的位置y
         let y=buttonPosition.origin.y-120
         //添加播放器的Viem大小和范围
         playerViewController.view.frame=CGRect(x:x,y:y,width:200,height:112)
         self.addChild(playerViewController)
         self.view.addSubview(playerViewController.view)
         playFlag=true
    }
    else{
        playerViewController.view.removeFromSuperview()
        playFlag=false
    }
}
}







3.5.2 屏幕旋转的处理
//1.在控制器的viewDidLoad() 适当的地方注册通知监听者
//设置UIDevice方向变化监听的通知
NotificationCenter.default.addObserver(self,selector:#selector(receivedRotation(notification)),
name:NSNotification.Name.UIDevceOrientationDidChange,object:nil)
//2.处理旋转过程中需要的操作
//UIDevice旋转方向通知监听触发的方法
func receivedRotation(notification:NSNotification){
    backgroundView.frame=CGRect(x:0,y:0,width:self.view.frame.size.width,height:self.view.frame.size.height)
}


//3.2语音播报
//
//ViewController.swift
//VideoPlay_Sandbox
//
//Created by Zhifeng Chen on 2020/8/3.
//Copyrights © 2020 Zhifeng Chen.All rights reserved.
//

import UIKit
import AVKit

class ViewController:UIViewController{
    @IBAction funce Play(_sender:Any)
    {
        //打开在沙盒中的视频文件test.mov
        let path =Bundle.main.path(forResource:"test",ofType:"mov")
        //转化为URL
        let url = URL(fileURLWithPath:Play!)
        //打开AVPlayer
        let player =AVPlayer(url:url)
        //AVPlayerViewController实例化
        let playerViewController=playerViewController()
        //设置播放器
        playerViewController.player=player
        //添加播放器的View大小和范围
        playerViewController.view.frame=CGRect(x:20,y:100,width:self.view.bounds.width-40,height:200)
        self.addChild(playerViewController)
        self.view.addSubview(playerViewController.view)
            }
}

//3.7完整代码
//
//ViewController.swift
//AnimalUnderstanding
//
//Created by Zhifeng Chen on 2020/8/3.
//Copyright © 2020 Zhifeng Chen.All rights reserved.
//

import UIKit
//导入视频支持库
import AVKit
//导入音频支持库
import AVFoundation

class ViewController: UIViewController{
    //是否播放视频标记
    var playFlag=falae
    //视频播放控制器
    var playerViewController=AVPlayerViewController()
    //音频播放器变量
    var soundPlayer : AVAudioPlayer!

    override funce viewDidLoad(){
        super.viewDidLoad()
        //Do any additional setup after loaing the view.
        let iv =sellf.view.viewWithTag(4)! as! UIImageview
        //每个图片出现的间隔时间为0.5秒
        let img =UIImage.animatedImageNamed("frame_",duration:0.5)
        //设置动画
        iv.image=img

        //开启定时器,自动调用
    }

}

//
var myString = "Hello world!     -  swift.jsrun.net"
print(myString)
//
//ViewController,swift
BridSound
//
//Created by ZHIFENG chen on 2020/8/3.
Copyright © 2020 Zhifeng Chen.All rights reserved.
// 

import UIKit
//导入音频支持库
import AVFoundation

class ViewController:UIViewController {
     //播音器变量
     var soundPlayer : AVFoundioPlayer!

     @IBAction funce onClicked(_sender: UIButton){
         //从沙盒中读取文件所在路径,文件名为bird.mp3
         let path=Bundle.main.path(forResource:"bird",ofType:"mp3")
         //将路径转化为URL
         let url =URL(fileURLWithPath:path!)
         //调用AVAudioPlayer 函数,生成播放器
         soundPlayer =try ? AVFoundioPlayer(contentsOf:url)
         //播放器播放声音,默认是循环播放方式
         soundPlayer.play()
     }
}




//
//ViewController.swift
//VideoPlay_Sandbox
//
//Created by Zhifeng Chen on 2020/8/3.
//Copyrights © 2020 Zhifeng Chen.All rights reserved.
//

import UIKit
import AVKit

class ViewController:UIViewController{
    @IBAction funce Play(_sender:Any)
    {
        //打开在沙盒中的视频文件test.mov
        let path =Bundle.main.path(forResource:"test",ofType:"mov")
        //转化为URL
        let url = URL(fileURLWithPath:Play!)
        //打开AVPlayer
        let player =AVPlayer(url:url)
        //AVPlayerViewController实例化
        let playerViewController=playerViewController()
        //设置播放器
        playerViewController.player=player
        //添加播放器的View大小和范围
        playerViewController.view.frame=CGRect(x:20,y:100,width:self.view.bounds.width-40,height:200)
        self.addChild(playerViewController)
        self.view.addSubview(playerViewController.view)
            }
}