【day09-1-AVAudioPlayer】:播放音乐案例

实现多媒体需要准备以下两点:

需要引入一个框架AVFoundation.framework

然后引入#import <AVFoundation/AVFoundation.h>

代码如下:

@interface MXViewController ()

@property(nonatomic,strong) AVAudioPlayer *player;

@end

@implementation MXViewController

- (void)viewDidLoad

{

[super viewDidLoad];

// 此对象可以表示两种路径1.本地路径file2.网络路径url

NSURL *url = [NSURL fileURLWithPath:@".."];

self.player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:Nil];

[self.player play];// 播放

//    [self.player pause];// 暂停

//    [self.player stop];

//    self.player.currentTime;当前时间

//    self.player.duration;总时间

}

arc只会release掉自己页面的对象

strong把原来的值释放掉 把新新传来的值retain赋值

assign,weak把传进来的值赋值给属性

拖拽图片到新的位置:

1.遍历某个文件夹下的图片加载进ScrollView里面

2.给ScrollView添加一个长按手势

3.当手势触发的时候获取用户点击的坐标 遍历页面中的所有的ImageView判断是否点击到了某一个 从而得到from

4.找到点击到的图片之后 创建一个一样的图片添加到self.view中

5.当坐标发生改变的时候让添加进来的图片移动

6.在移动的同时继续得到用户点击的坐标 判断坐标在哪一张图片上面 这时图片的位置就是to

7.判断如果from不等于to的话就把数组中from位置的对象取出来 从数组中删除掉 然后 insert到数组中的to的位置

8.把页面中的所有图片删除掉 根据新的数组重新添加

9.交换完图片之后立即让from=to 不然会一直交换位置

动画是在重新加载图片的时候添加的 设置一下图片的原始位置和新位置 用动画展现出来

高级UIKit-07(AVAudioPlayer)的更多相关文章

  1. Linux高级编程--07.进程间通信

    每个进程各自有不同的用户地址空间,进程之间要交换数据必须通过在内核中开辟缓冲区,从而实现数据共享. 管道 管道是一种最基本的IPC机制,由pipe函数创建: int pipe(int filedes[ ...

  2. Java入门 - 高级教程 - 07.多线程

    原文地址:http://www.work100.net/training/java-multi-threading.html 更多教程:光束云 - 免费课程 多线程 序号 文内章节 视频 1 概述 2 ...

  3. 即时聊天 / XMPP

    MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...

  4. JAVA EE企业级开发四步走完全攻略 [转]

    http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...

  5. ios 视频音乐播放

    IOS开发小技巧(视频和音乐播放).IOS视频播放代码(添加MediaPlayer.framework和#import) -(void)playMovie:(NSString *)fileName{ ...

  6. Swift - 给表格添加编辑功能(删除,插入)

    1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标,删 ...

  7. Swift - 给表格的单元格UITableViewCell添加图片,详细文本标签

    表格UITableView中,每一单元格都是一个UITableViewCell.其支持简单的自定义,比如在单元格的内部,添加图片和详细文本标签. 注意UITableViewCell的style: (1 ...

  8. Swift - 使用表格组件(UITableView)实现分组列表

    1,样例说明: (1)列表以分组的形式展示 (2)同时还自定义分区的头部和尾部 (3)点击列表项会弹出消息框显示该项信息. 2,效果图:       3,代码如下: 1 2 3 4 5 6 7 8 9 ...

  9. C语言07指针高级

    01内存四区 接口封装和设计思想引导 接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_ ...

  10. 2021.07.02 P1383 高级打字机题解(可持久化平衡树)

    2021.07.02 P1383 高级打字机题解(可持久化平衡树) 分析: 从可以不断撤销并且查询不算撤销这一骚操作可以肯定这是要咱建一棵可持久化的树(我也只会建可持久化的树,当然,还有可持久化并查集 ...

随机推荐

  1. 实现JQuery_Accordion功能

    1. 添加AJAX引用 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/li ...

  2. UML初了解

    最近项目中有看UML图,很是模糊一些东西,今天查资料,发现这篇博文很好,转载了,也解了不少疑惑. 原文:http://www.uml.org.cn/oobject/201008311.asp 在绘画U ...

  3. HttpContext的解释意义

    在.ashx中,我们HttpContext这个词,到底是什么意思?下面给大家说说 HttpContext 类:封装有关个别 HTTP 请求的所有 HTTP 特定的信息. 在处理请求执行链的各个阶段中, ...

  4. POJ 2250 Compromise(LCS)

    POJ 2250 Compromise(LCS)解题报告 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87125#proble ...

  5. 启动和停止MySQL服务

    1.  启动MySQL服务 启动MySQL服务的命令为: /etc/init.d/mysqld start 命令执行后如图7-5所示,表示启动MySQL服务成功.   (点击查看大图)图7-5  启动 ...

  6. Xcode 新版本如何设置ARC

    在刚刚开始学习IOS开发时,最好不要开启ARC,这样有助于学习内存管理,但不少刚刚接触Xcode的朋友可能会发现,当你使用最新版本的Xcode时,敲入release等代码时会提示报错.这是因为系统默认 ...

  7. C语言程序转换为Python语言

    python语言是支持用c来它写模块的,其实现有的很多模块也是用c写的.这里我做个简单的介绍. 先决条件:1.在linux上编写,需要自己编译出python的动态连接库.也就是要有libpython2 ...

  8. python网络编程——将IPv4地址转换成不同的格式

    1.将IPv4地址转换为32位二进制格式,用做底层网络函数. import socket from binascii import hexlify def convert_IPv4_address() ...

  9. MongoDB入门(1)--安装配置

    第一步:下载安装 首先当然是找到官方网站http://www.mongodb.org/ 进入下载页面 可以看到,当前最新版本是2.4.5,我的电脑是64位的win7,所以要下载第一个(说明一下,第二个 ...

  10. 自定义类StyleSheet跨浏览器操作样式表中的规则

    这是群里网友地瓜提供的一个类,不熟悉样式表对象和样式规则对象的浏览器差异的可以看看 /** * Stylesheet.js: utility methods for scripting CSS sty ...