1. 使用音乐的背景播放功能

(1) 导入音频播放框架

import AVFoundation

(2) 创建音频播放对象

//初始化音频播放器对象,并将音频播放对象,作为视图控制器类的属相。

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.sharedApplication().beginReceivingRemoteControlEvents()

//定义字符串变量,描述声音文件路径

let path = NSBundle.mainBundle().pathForResource("music", ofType: "mp3")

//将字符串路径,转换为网址路径

let soundUrl = NSURL(fileURLWithPath: path!)

//对音频播放对象,进行初始化,并加载制定的音频文件

try audioPlayer = AVAudioPlayer(contentsOfURL: soundUrl)

//为音频播放做好准备

audioPlayer.prepareToPlay()

//设置音频播放对象播放音量的大小

audioPlayer.volume = 1.0

//播放次数

audioPlayer.numberOfLoops = -1 //-1:无限循环播放

audioPlayer.play()

}catch {

print(error)

}

}

2. 使用MediaPlayer框架播放影片

(1) 导入媒体播放器框架,该框架允许访问音频和视频,音频和视频文件的播放器

import MediaPlayer

(2)创建一个视频播放器

//新建一个视频播放器属性,用于播放视频

var mediaPlayer:MPMoviePlayerController = MPMoviePlayerController()

override func viewDidLoad() {

super.viewDidLoad()

// Do any additional setup after loading the view, typically from a nib.

do {

//获取沙箱目录中,视频文件的所在路径.

let path = NSBundle.mainBundle().pathForResource("movie", ofType: "mp4")

//将字符串路径,转化为NSUrl路径

let movieUrl = NSURL(fileURLWithPath: path!)

//初始化

mediaPlayer = MPMoviePlayerController(contentURL: movieUrl)

//设置视频播放模式为全屏播放.

mediaPlayer.controlStyle = MPMovieControlStyle.Fullscreen

mediaPlayer.view.frame = self.view.bounds

//设置视频播放的开始时间

mediaPlayer.initialPlaybackTime = -1

//将视频播放控制器,添加到当前视图控制器的根视图

self.view.addSubview(mediaPlayer.view)

//添加一个通知,监听视频播放是否结束.

NSNotificationCenter.defaultCenter().addObserver(self, selector:#selector(ViewController.movieFinished(_:)), name:MPMoviePlayerPlaybackDidFinishNotification, object: mediaPlayer)

mediaPlayer.play()

} catch {

print(error)

}

}

//create a method to react 视频播放的结束时间

func movieFinished(notifi:NSNotification) {

print("Movie ends")

//获取视频播放控制器

let player = notifi.object

//取消通知的监听,释放资源

NSNotificationCenter.defaultCenter().removeObserver(self, name: NSNotification.Name.MpMoviePlayerPlaybackDidFinish, object: player)

}

iOS - 使用音乐的背景播放功能,使用MediaPlayer框架播放影片(Swift)的更多相关文章

  1. [Xcode 实际操作]六、媒体与动画-(17)使用MediaPlayer框架播放视频

    目录:[Swift]Xcode实际操作 本文将演示视频的播放功能. 在项目名称上点击鼠标右键,弹出右键菜单, 选择[Add Files to "DemoApp"],往项目中导入文件 ...

  2. [Xcode 实际操作]六、媒体与动画-(16)实现音乐的背景播放

    目录:[Swift]Xcode实际操作 本文将演示音乐的背景播放功能 打开项目信息配置文件[info.plist]. 需要在配置文件中进行一些操作,使程序支持音乐的背景播放. 点击鼠标右键,弹出右键菜 ...

  3. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果

    目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放. Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果. 如果 ...

  4. iOS关于UILabel 基本属性 背景图片 背景色

    [代码] iOS关于UILabel 基本属性 背景图片 背景色 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ...

  5. ios设置音乐audio自动播放

    因为audio标签的自动播放:autoplay.在ios系统中不能自动播放,此时需要设置,在进入页面自动播放音乐. 第一步,先引入js微信 <script src="js/jweixi ...

  6. iOS开发—音乐的播放

    iOS开发—音乐的播放 一.简单说明 音乐播放用到一个叫做AVAudioPlayer的类,这个类可以用于播放手机本地的音乐文件. 注意: (1)该类(AVAudioPlayer)只能用于播放本地音频. ...

  7. 使用MediaPlayer框架实现简单音乐播放器-陈棚

    该项目需要使用MediaPlayer框架,因此程序需要先为该项目添加MediaPalyer框架,并在上面控制器类的实现部分使用#import<MediaPlayer/MediaPlayer.h& ...

  8. MediaPlayer类——播放视频和音乐

    1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlayer(); 也可以使用create的方式,如: MediaPlayer ...

  9. MediaPlayer 音频播放 示例

    状态机.流程图.生命周期 对播放音频/视频文件和流的控制是通过一个状态机来管理的.下图显示一个MediaPlayer对象被支持的播放控制操作驱动的生命周期和状态. 椭圆代表MediaPlayer对象可 ...

随机推荐

  1. 从零开始学android开发-项目重命名

    --修改项目名称 选中项目-[refactor]-[rename] --修改package名称 选中需要重命名的包-[refactor]-[rename] --修改gen下面的名称 打开Android ...

  2. ComboBox控件

      一.怎样加入�/删除Combo Box内容1,在Combo Box控件属性的Data标签里面加入�,一行表示Combo Box下拉列表中的一行.换行用ctrl+回车.2,在程序初始化时动态加入� ...

  3. C++中临时对象的学习笔记

    http://www.cppblog.com/besterChen/category/9573.html 所属分类: C/C++/STL/boost  在函数调用的时候,无论是参数为对象还是返回一个对 ...

  4. 基数树(radix tree)

    原文   基数(radix)树 Linux基数树(radix tree)是将指针与long整数键值相关联的机制,它存储有效率,并且可快速查询,用于指针与整数值的映射(如:IDR机制).内存管理等.ID ...

  5. 计划任务命令crontab、at

    一.为计划任务提供支持 开始为系统建立计划任务之前,需要为系统添加相关设置,以确保计划任务能够正确运行.计划任务需要的支持主要包括两个方面:正确运行系统服务.准确的系统时间. 1.正确运行系统服务 为 ...

  6. 项目源码--Android新闻财经类商用要求源码

    技术要点: 1. 商用要求源码框架 2. 登录与注册用户系统模块 3. Android的Http通信以及多线程处理模块 4. Andorid的网络数据处理模块 5. Andorid的版本检测与升级模块 ...

  7. archlinux下wifi-menu显示连接超时

    /etc/network.d/wlan0 增加: DHCP_TIMEOUT=30

  8. linux中mail函数不能发送邮件怎么办

    原因分析: 1.检查下本机25端口是否有开放 2.mail是利用linux自带的sendmail服务来发送邮件的,service sendmail status 查看下该服务的状态 发送命令:mail ...

  9. iOS本机生成证书请求文件流程

    第一步:苹果机上打开“Finder”,选择“应用程序”,双击打开“实用工具” 第二步:在“实用工具”中,选“择钥匙串访问”,双击打开 第三步: “钥匙串访问”打开,看到如下页面 第四步:选择菜单中“钥 ...

  10. InAction-编译hadoop2.5.2

    1.环境 2.JDK ... 3.工具 1)下载maven解压加入环境变量 2)安装编译工具 yum install make cmake zlib-devel openssl-devel gcc g ...