- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章iOS音乐后台播放及锁屏信息显示由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了ios实现音乐的后台播放,以及播放时,可以控制其暂停,下一首等操作,以及锁屏图片歌曲名等的显示 。
此实例需要真机调试,效果图如下:
工程下载:github工程下载 。
实现步骤:
1、首先修改info.plist 。
2、其次引入两个需要的框架 。
1
2
|
#import <avfoundation/avfoundation.h>
#import <mediaplayer/mediaplayer.h>
|
3、设置播放器及后台播放 。
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
- (
void
)viewdidload {
[super viewdidload];
// 设置后台播放
[[avaudiosession sharedinstance] setcategory:avaudiosessioncategoryplayback error:nil];
// 设置播放器
nsurl *url = [nsurl fileurlwithpath:[[nsbundle mainbundle] pathforresource:@
"那些花儿"
oftype:@
"mp3"
] ];
_player = [[avplayer alloc] initwithurl:url];
[_player play];
_isplayingnow = yes;
//后台播放显示信息设置
[self setplayinginfo];
}
#pragma mark - 接收方法的设置
- (
void
)remotecontrolreceivedwithevent:(uievent *)event {
if
(event.type == uieventtyperemotecontrol) {
//判断是否为远程控制
switch
(event.subtype) {
case
uieventsubtyperemotecontrolplay:
if
(!_isplayingnow) {
[_player play];
}
_isplayingnow = !_isplayingnow;
break
;
case
uieventsubtyperemotecontrolpause:
if
(_isplayingnow) {
[_player pause];
}
_isplayingnow = !_isplayingnow;
break
;
case
uieventsubtyperemotecontrolnexttrack:
nslog(@
"下一首"
);
break
;
case
uieventsubtyperemotecontrolprevioustrack:
nslog(@
"上一首 "
);
break
;
default
:
break
;
}
}
}
|
4、设置后台播放时显示的东西,例如歌曲名字,图片等 。
1
2
3
4
5
6
7
8
9
10
|
- (
void
)setplayinginfo {
// <mediaplayer/mediaplayer.h>
mpmediaitemartwork *artwork = [[mpmediaitemartwork alloc] initwithimage:[uiimage imagenamed:@
"pushu.jpg"
]];
nsdictionary *dic = @{mpmediaitempropertytitle:@
"那些花儿"
,
mpmediaitempropertyartist:@
"朴树"
,
mpmediaitempropertyartwork:artwork
};
[[mpnowplayinginfocenter defaultcenter] setnowplayinginfo:dic];
}
|
5、远程控制设置 。
1
2
3
4
5
6
7
8
9
10
11
|
- (
void
)viewdidappear:(
bool
)animated {
// 接受远程控制
[self becomefirstresponder];
[[uiapplication sharedapplication] beginreceivingremotecontrolevents];
}
- (
void
)viewdiddisappear:(
bool
)animated {
// 取消远程控制
[self resignfirstresponder];
[[uiapplication sharedapplication] endreceivingremotecontrolevents];
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/Zsk_Zane/article/details/47320621 。
最后此篇关于iOS音乐后台播放及锁屏信息显示的文章就讲到这里了,如果你想了解更多关于iOS音乐后台播放及锁屏信息显示的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
如何从 Android-Native-Screen 打开 flutter 屏幕? 我开了一个 Android-Native-Screen 从现有我们 flutter 项目 . 所以,在 Android
有人知道如何使用 java 和 google chrome 最大化 selenium webdriver 窗口吗? 我已经尝试过一些命令,例如maximize () window (),但没有成功。
Redmi A65 智能电视今天正式开卖,4K 超高清大屏 + 立体声扬声器,到手价 2599 元。 IT之家了解到,Redmi A65 智能电视搭载了一块 65 英寸 4K 屏,支持 HDR
9 月 26 日消息小米电视大师「至尊纪念版」将在 9 月 29 日发布,根据今天小米集团大家电部总经理李肖爽放出的海报显示,小米电视大师至尊版有两款。 小米电视大师「至尊纪念版」是小米首款
华为手环 6 今日在海外正式发布,英文名 Band 6。这款产品是华为手环 4 的升级版,屏幕尺寸由 0.96 英寸升级为 1.47 英寸 AMOLED 屏,分辨率 194 x 368。该手环外形类
我是一名优秀的程序员,十分优秀!