高级UIKit-07(AVAudioPlayer)
【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)的更多相关文章
- Linux高级编程--07.进程间通信
每个进程各自有不同的用户地址空间,进程之间要交换数据必须通过在内核中开辟缓冲区,从而实现数据共享. 管道 管道是一种最基本的IPC机制,由pipe函数创建: int pipe(int filedes[ ...
- Java入门 - 高级教程 - 07.多线程
原文地址:http://www.work100.net/training/java-multi-threading.html 更多教程:光束云 - 免费课程 多线程 序号 文内章节 视频 1 概述 2 ...
- 即时聊天 / XMPP
MQTT是第二个即时聊天协议(了解) 5.即时通讯 即时通讯网上有第三方的解决方案,比如环信,融云等.我们是自己搭的xmpp服务器,服务器使用的tigase,之前写过相关的博客,自己去年也做了对应的w ...
- JAVA EE企业级开发四步走完全攻略 [转]
http://bbs.51cto.com/thread-550558-1.html 本文是J2EE企业级开发四步走完全攻略索引,因内容比较广泛,涉及整个JAVA EE开发相关知识,这是一个长期的计划, ...
- ios 视频音乐播放
IOS开发小技巧(视频和音乐播放).IOS视频播放代码(添加MediaPlayer.framework和#import) -(void)playMovie:(NSString *)fileName{ ...
- Swift - 给表格添加编辑功能(删除,插入)
1,下面的样例是给表格UITableView添加编辑功能: (1)给表格添加长按功能,长按后表格进入编辑状态 (2)在编辑状态下,第一个分组处于删除状态,第二个分组处于插入状态 (3)点击删除图标,删 ...
- Swift - 给表格的单元格UITableViewCell添加图片,详细文本标签
表格UITableView中,每一单元格都是一个UITableViewCell.其支持简单的自定义,比如在单元格的内部,添加图片和详细文本标签. 注意UITableViewCell的style: (1 ...
- Swift - 使用表格组件(UITableView)实现分组列表
1,样例说明: (1)列表以分组的形式展示 (2)同时还自定义分区的头部和尾部 (3)点击列表项会弹出消息框显示该项信息. 2,效果图: 3,代码如下: 1 2 3 4 5 6 7 8 9 ...
- C语言07指针高级
01内存四区 接口封装和设计思想引导 接口封装设计思想引导 Sckclient客户端api模型设计 第一套api函数 #ifndef _SCK_CLINT_H_ #define _SCK_CLINT_ ...
- 2021.07.02 P1383 高级打字机题解(可持久化平衡树)
2021.07.02 P1383 高级打字机题解(可持久化平衡树) 分析: 从可以不断撤销并且查询不算撤销这一骚操作可以肯定这是要咱建一棵可持久化的树(我也只会建可持久化的树,当然,还有可持久化并查集 ...
随机推荐
- Android UI 之一步步教你自定义控件(自定义属性、合理设计onMeasure、合理设计onDraw等)
Android开发做到了一定程度,多少都会用到自定义控件,一方面是更加灵活,另一方面在大数据量的情况下自定义控件的效率比写布局文件更高. 一个相对完善的自定义控件在布局文件中和java ...
- python下线程以及锁
1.python多线程 #encoding=utf-8 """ python多线程,并非真正意义上的多线程 全局锁:在指定时间里,有且只有一个线程在运行 "&q ...
- c 对某个整数做因式分解
1 #include <stdio.h> int main(void) { int n,i; scanf("%d",&n); printf("%d=& ...
- SAP HANA 开发者中心(Developer Center)入门指南
- JavaSE学习总结第14天_API常用对象4
14.01 如何校验一个QQ号码案例 import java.util.Scanner; /* * 校验qq号码. * 1:要求必须是5-15位数字 * 2:0不能开头 * * 分析: * A:键 ...
- python2.7_1.4_将IPV4地址转换成不同的格式
代码如下: # -*- coding: utf-8 -*- import socket from binascii import hexlify def convert_ip4_address(): ...
- 告别IE给我们的web开发带来的困扰(使用chrome frame v8引擎)
茶爸爸个人微信:benyzhous,公众号:cha-baba欢迎骚扰 由于客户所有机器必须使用IE6浏览器,导致我们在开发项目过程中遇到非常多的样式与性能问题,在偶然的一次使用360软件管家搜索chr ...
- 打印NSLog分类 Foundation+Log.m
#import <Foundation/Foundation.h> #import <UIKit/UIKit.h> @implementation UIView(Log) + ...
- 修改linux多系统启动顺序
Ubuntu和XP双系统grub2默认启动项设置为XP 装了双系统后,在开机时总会有想让一个系统默认启动的时候,一般安装完Ubuntu和XP双系统后,开机时默认的是启动Ubuntu系统,但是当想让XP ...
- 2057 A + B Again
A + B Again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...