iOS开发:音乐播放器
/****************** iOS开发:音乐播放器 *****************/
要求:给button一个触发事件,点击一下播放歌曲,显示暂停提示;
再点击一下暂停歌曲,显示播放字体;
封装一个music类:
(1).引入AVFoundation框架
#import<AVFoundation/AVFoundation.h>
(2).创建播放歌曲的类的对象以及方法:
@property(nonatomic, strong)AVPlayer *player;
@property(nonatomic, retain)NSString *currentURL; //url:网络接口
@property(nonatomic,assign)NSInteger flag; //标签
//单例,只有这个工程关闭时,才退出歌曲播放
+ (Music *)shareInstance;
//播放歌曲,传进来一个URL
- (void)playMusicWith:(NSString *)urlString;
//暂停歌曲
- (void)pauseMusic;
(3).实现方法:
+ (Music *)shareInstance{
//只走一次
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
music = [[Music alloc]init];
});
return music;
}
- (void)playMusicWith:(NSString *)urlString{
if ([_currentURL isEqualToString:urlString]) {
//通过flag触发播放还是暂停:
if (_flag == 1) {
[_player play];
_flag = 0;
}else{
[_player pause];
_flag = 1;
}else{ //换歌
//记录当前歌曲URL
_currentURL = urlString;
//先暂停前一首歌
[_player pause];
//得到新的URL
_player = [[AVPlayer alloc]initWithURL:[NSURL URLWithString:urlString]];
//播放新歌
[_player play];
}
}
(4).在viewController中,
假设给button一个触发事件,用来控制播放、暂停歌曲
- (void)buttonAction{
//用tag值来改变setTitle (初始时刻button = 1000)
if (_button.tag == 1000) {
NSString *urlString = @"http://fdfs.xmcdn.com/group14/M08/70/3F/wKgDZFX1m2_zB1prACBgVqJhyOA138.mp3";
[[Music shareInstance] playMusicWith:urlString];
[_button setTitle:@"暂停" forState: UIControlStateNormal];
_button.tag = 1001;
}else{
NSString *urlString = @"http://fdfs.xmcdn.com/group14/M08/70/3F/wKgDZFX1m2_zB1prACBgVqJhyOA138.mp3";
[[Music shareInstance] playMusicWith:urlString];
[_button setTitle:@"播放" forState:UIControlStateNormal];
_button.tag = 1000;
}
}
iOS开发:音乐播放器相关推荐
- vueJs开发音乐播放器第二篇(点击歌单跳出详情页)
继上一篇开发音乐播放器歌单列表页 (1.使用router定义跳转链接,2. 使用axios得到音乐第三方数据,并渲染到页面上,3.组件之间传值(props)) 1.接下来使用了vue-router路由 ...
- 【网络收录】基于51单片机开发音乐播放器
[网络收录]基于51单片机开发音乐播放器 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Thu, 22 May 2014 18:14:00 +0800 特别声明:本资料来源 ...
- linux 基于qt开发的音乐,Linux下用QT开发音乐播放器.pdf
嵌入式课程设计报告 - Linux 在 下开发音乐播放器 李荣贵 141578 一.概述 按课程要求,在Linux环境下开发了一款简易的音乐播放器软件, Mini 名为 " 音乐播放器&qu ...
- ios开发---音乐播放器之怎么获取音乐列表
博主刚学ios开发不久,最近想要自己写一个音乐播放器.结果昨天关于怎么获取音乐列表的问题在网上找了好久,今天想要把我昨天找到的资料和学到的东西记录下来. 方法一: 这个方法是通过获取到沙盒路径,来得到 ...
- Xamarin.Android开发音乐播放器
最近.Net开源着实让C#火了一把,好久就听说Mono for Android一直没静下心来看,上周末找来看看,确实不错,前台界面axml编写跟Java安卓开发毫无区别,后台用C#其实很多window ...
- startService和onBinderService混合开发音乐播放器
首先你你需要知道MediaPlayer这个类的一些方法: int getDuration():获取流媒体的总播放时长,单位是毫秒. int getCurrentPosition():获取当前流媒体的播 ...
- 2020 零基础 Vue综合应用 教开发音乐播放器—悦听(激发编程乐趣)【整理+源码】
文章目录 1.引言 2.音乐播放器完整版效果图如下: 3.接口引用 4.示例代码 5.结束语 点击进入Vue❤学习专栏~ 1.引言 这是Vue学习的综合应用篇,教你开发一个音乐播放器,能听歌,能看热门 ...
- python开发音乐播放器教程_python开发简易版在线音乐播放器示例代码
在线音乐播放器,使用python的Tkinter库做了一个界面,感觉这个库使用起来还是挺方便的,音乐的数据来自网易云音乐的一个接口,通过urllib.urlopen模块打开网址,使用Json模块进行数 ...
- python开发音乐播放器教程,Python挑翻音乐网,GUI实现音乐播放器,无敌Pythoner炼成记!...
今天几篇博文都是些Python纯干货,有难度大的,也有难度比较低的适合新手的.但无一列外,就是它们都会有源码+视频教程二合一供大家学习.这样的文章有个好处,本人的文章多次遭其它人copy到其它网站,这 ...
- Android开发----音乐播放器(界面设计)
转眼也沦为"大四狗"的行列当中去,本来打算在暑假的时候找一个实习,结果学校临时安排了"暑期实训" 原本计划好的安排全部被打乱了,哎~~~也只能跟着学校的脚步&q ...
最新文章
- 0058-简单的阶乘
- Activity中与ListActivity中使用listview区别
- openlayer右键菜单_使用OpenLayers3 添加地图鼠标右键菜单
- Java语言程序设计(基础篇) 第十章 面向对象思考
- MySQL中索引与视图的用法与区别详解
- Python入门之中文乱码
- 基于.NetCore3.1系列 —— 日志记录之日志核心要素揭秘
- Java高级面试题!java编程思想怎么学
- 递归判断一个数是否递增
- Inception Net V1总结
- 如何查电脑ip地址_摄像机地址不对连不上网?教你快速更改IP地址
- GitHub中watch star fork三个按钮干什么用的?
- 深入浅出Docker(六):像谷歌一样部署你的应用
- 有哪些函数可以反截图、_视频微课:征服反三角函数——反三角函数核心思想与方法——“1个概念”、“2类关系”、“3个层次”...
- 使用boost中的线程池
- hmcl手机版_hmcl启动器手机版下载-hmcl启动器官方正版下载v3.3.172-1y2y游戏
- InstallShield安装与部署
- 一次贴近实战的CTF比赛(cookie欺骗、php函数、Tomcat漏洞、注入、逆向等)
- deeping操作系统修改已挂载卷名称
- 《遥感原理与应用》孙家抦版知识点总结(含简答题)——第四章