小鸟鸣叫的声音
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 {
var soundPlayer : AVAuioPlayer!
@IBAction funce onClicked(_sender : UIButton) {
let path =Bundle.main.path(forResource:"bird",ofType:"mp3")
let url = URL(fileURLWithPath:Path!)
soundPlayer = try? AVAudioPlayer(contentsOF: ur1)
soundPlayer.play()
}
}
动画播放方法
let iv = self.view.viewWithTag(4)! as! UIImagView
let img = UIImage.animatedImageNamed("fram-",duration: 0.5)
iv.image = img
UIView的旋转动画
let iv = self.view.viewWithTag(4)!
UIView.animate (withDuration: 2, animations: {
iv.transfrom =iv.transfrom.rotated(by: CGFloat(360))
})
UIView的平移动画
let iv = self.view.viewWithTag(4)!
UIView.animate(withDuration: 2, animations: {
iv.frame.orgin.x += 100
if iv.frame.origin.x > self.view.frame.size.width{
iv.frame.origin.x = 0
}
})
UIView的缩放动画
let iv = selt.view.viewWithTag(4)!
UIView.animate(withDuration: 2, animations: {
iv.transfrom = CGAffineTransform(scaleX: 0.8, y:0.8)
})
UIView的透明度动画
let iv = self.view.viewWithTag(4)!
UIView.animate(withDuration: 2, animations: {
iv.alpha = 0.1
})
播放视频界面
import UIKit
import AVKit
class ViewController: UIViewController {
@IBAction func Play(_sender: Any)
{
let path = Bundle.main.path(forResource: "test",offype: "mov")
let url = URL(fileURLWithPath: path!)
let plsyer = AVPlayer(url: url)
let PlayerViewController = AVPlayerVIEWcontroller()
PlayerViewController.plsyer = plsyer
PlayerViewController.view.frame = CGRect(x:20,y: 100,width: self.view.bounds.width - 40,heihjt: 200)
self.addChild(PlayerViewController)
self.view.addSubview(PlayerViewController.view)
}
}
import UIKit
import AVKit
class ViewController: UIViewController {
@IBAction func NetworkPlay(_sender: UIButton) {
let neturl = "http://bos.nj.bpc.baidu.com/tieba-smallideo/11772_3c435014fb2dd9a5fd56a57cc369f6ao.mp4"
guard let networkUrl = URL(string: neturl ) else { return }
let player = AVPlayer(url: networkUrl)
let PlayerViewController = AVPlayerVIEWcontroller()
PlayerViewController.player = player
self.present(PlayerViewController, true, completion: nil)
}
}
定时器应用在动画的效果
import UIKit
import AVKit
class ViewController: UIViewController {
var playFlag = false
var playerViewController = AVPlayerViewController()
var soundPlayer : AVAudioPlayer!
override func viewDidLoad() {
super.viewDidLoad()
let iv = self.view.viewWithTag(4)!as!UIImageView
let img = UIImage.animatedImageNamed("frame-",duration: 0.5)
iv.image = img
Timer.scheduledTimer(timeInterval: 2.0, target: self, selector:#selector(doTimer),userInfo: nill,repeats: true)
}
@objc func doTimer(){
let iv = self.view.viewWithTag(4)!
UIView.animate(withDuration: 2, animations: {
iv.transfrom = iv.transfrom.rotated(by: CGFloat(360))
})
}
@IBAcion func onPlayAudio(_sender : UIButton) {
let title = sender.currentTitle
let path = Bundle.main.path(forResource: title, ofType: "mp3")
let url = URL(fileURLWithPath: path!)
soundPlayer = try? AVAudioPlayer(contentsOf: url)
soundPlayer.play()
}
@IBAction func onPlayVideo(_ sender: UIButton) {
if!playflag {
let path = Bundle.main.path(forResource: "rollinwild",ofType: "mp4"
let url = URL(fileURLWithPath: path!)
let player = AVPlayer(url: url)
player.play()
playerViewController.player = player
let buttonPosition = sender.frame
let x = buttonPosition.origin.x-200
let y = buttonPosition.origin.y-120
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
}
}
}
屏幕旋转的处理
NotificationCenter.default.addObserver(self,selector:#selector(receivedRotation(notification)),
name:NSNotification.Name.UIDevceOrientationDidChange,object:nil)
func receivedRotation(notification:NSNotification){
backgroundView.frame=CGRect(x:0,y:0,width:self.view.frame.size.width,height:self.view.frame.size.height)
}