首页
学习
活动
专区
圈层
工具
发布

iOS-QQ音乐播放器的简单实现

Slider时间条的处理 播放时间和歌曲总时间的string处理,通过播放器可以拿到已经播放时间currentTime和歌曲总时间duration,播放器返回给我们的是秒,需要将秒转化为分钟,这里给NSString...的长度占据整个屏幕的比例设置歌手图片和歌词label的透明度,当完全滑动一个屏幕宽度时,歌手图片和歌词label的透明度为0。...中的label 自定义tableView的cell为CLLrcTableViewCell,对cell进行初始化,对cell的style和背景进行设置,对cell内label的frame和字体等进行设置...= self.currentPlayer.currentTime; } 为CLLrcView添加currentTime已播放时间和duration歌曲总时间属性,重写setCurrentTime:对currentTime...= i && currentTime >= currentLrcLine.time && currentTime < nextLrcLine.time) { // 设置主页上的歌词

3.4K131
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    iOS音频播放器锁屏歌词显示与性能优化 原

    前边博客地址如下: iOS音频开发AVAudioPlayer的应用:http://my.oschina.net/u/2340880/blog/420129。...二、在锁屏界面同步显示歌词    我们知道,在音频后台播放时,锁屏界面的信息是由MPNowPlayingInfoCenter来设置的,其中的歌曲信息字典可以设置类似歌曲封面,艺术家,歌曲名,歌曲时间等。...然而,对于MPNowPlayingInfoCenter中可以由开发者掌握的接口十分有限,若要在锁屏界面同步的显示歌曲歌词,一个比较简单的方法是不停的将当前歌词与封面进行图片合成,之后刷新锁屏界面的图片。...isEqualToString:lineLRC]) {         return;     }     _lrcLabel.text = lineLRC;     //将歌词整理成整齐数据     //进行行数设置...三、应用性能的优化    从功能上来说,通过一直合成刷新锁屏界面的封面图是可行的,然而在使用中我发现,不停和合成图片和刷新操作将使设备非常耗电,如果可以完成下面的优化,则可以大大提高应用的性能: 1.应用在前台时不进行后台锁屏界面的刷新操作

    1.5K20

    iOS后台音频播放及锁屏界面显示音频信息 原

    iOS后台播放音乐及用户交互处理 后台播放是任何一个音频软件都支持的功能,在上一篇博客中,详细介绍了使用AVAudioPlayer播放音频的方法,这篇博客将对后台的处理做介绍,关于播放与设置音频的博客地址...一、设置后台播放 iOS设置后台音频播放的步骤非常简单,首先需要在系统设置的plist文件中添加一个键Required background modes,值为App plays audio or streams...设置锁屏界面显示信息的原理是通过设置一个系统的字典,当音频开始播放时,系统会自动从这个字典中读取要显示的信息,如果需要动态显示,我们只需要不断更新这个字典即可。...];     //设置专辑名     [dict setObject:@"专辑" forKey:MPMediaItemPropertyAlbumTitle];     //设置显示的图片     UIImage...NSNumber numberWithDouble:150] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];      //更新字典     [[MPNowPlayingInfoCenter

    3.6K30

    iOS开发音频播放基础——AVAudioPlayer的应用

    iOS音频开发——AVAudioPlayer应用 AVAudioPlayer是系统提供给我们的一个音频播放类,在AVFoundation框架下,通过它,我们可以实现一个功能强大的音乐播放器。...一、AVAudioPlayer方法与属性详解 初始化方法有两种,通过音频的路径或者音频data数据初始化player对象 - (instancetype)initWithContentsOfURL:(NSURL...,0为中心,-1为只有左声道,1为只有右声道 @property float pan; 设置音频音量,取值为0-1之间 @property float volume; 设置是否可以改变播放速度 @property...设置播放速度,1为正常,0.5为一半速度,2.0为2倍速度 @property float rate; 设置当前播放的时间点 @property NSTimeInterval currentTime;...设置音频播放循环次数 @property NSInteger numberOfLoops; 获取音频设置字典 @property(readonly) NSDictionary *settings; 是否开启仪表计数功能

    1.9K20

    AVFoundation 框架初探究(一)

    ----       AVAudioPlayer也是在我们要说的 AV Foundation 框架里面,这个类的实例提供了简单的从文本或者是内存中播放一音频的功能,虽然API很简单,但是它提供的功能却是很强大的...AVAudioRecorder ----       前面说了我们的AVAudioPlayer,它是用来播放音频的话,那下面我们要总结的AVAudioRecorder就是负责来录音的类,和前面介绍AVAudioPlayer...和deviceCurrentTime在前面也是解释过,按照理解AVAudioPlayer的理解就没问题 get the current time of the recording - only valid...3、是从扬声器还是从听筒里面播放声音?       4、插拔耳机后如何表现?       5、来电话/闹钟响了后如何表现?       6、其他音频App启动后如何表现?      ...4、AVAudioSessionModeGameChat   适用于游戏App的采集和播放,比如“GKVoiceChat”对象,一般不需要手动设置       另外几种和音频APP关系不大,一般我们只需要关注

    3.3K50

    AVFoundation 文本转语音和音频录制 播放

    时系统也会选择最佳的输入设备,比如插上耳机就使用耳机上的麦克风进行采集并且会设置类别的选项为".allowBluetooth" 和 ".defaultToSpeaker"。...调用 prepareToPlay这个动作是可选的,当调用Play方法时会隐形激活,不过在创建时准备播放器可以降低调用Play方法和听到声音之间的延时 AVAudioPlayer常用属性...currentTime = 0 //调整播放率 范围 0.5 - 2.0 player?....我们可以在Mac机器和iOS设备上使用这个类来从内置的麦克风录制视频,也可从外部音频设备进行录制,比如数字音频接口或USB麦克风 创建 AVAudionRecorder let tmpDir...这个值的范围从表示最大分贝的0Db(fullscale)到表示最小分贝或静音的-160dB。

    3.1K40

    iOS 音乐播放器之锁屏歌词+歌词解析+锁屏效果

    总效果预览图.gif ---- 第一部分:锁屏效果包括:锁屏歌曲信息和远程控制音乐播放 ① 锁屏歌曲信息显示 ?...歌词、进度、歌曲名、演唱者、专辑、(歌词是绘制在图片上的) - (void)showLockScreenTotaltime:(float)totalTime andCurrentTime:(float)currentTime...]; //设置已经播放时长 [songDict setObject:[NSNumber numberWithDouble:currentTime] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime...initWithImage:lrcImage] forKey:MPMediaItemPropertyArtwork]; //加入正在播放媒体的信息中心 [[MPNowPlayingInfoCenter...歌词样式.png 根据上图的歌词样式,思路就是:先根据换行符“\n“分割字符串,获得包含每一行歌词字符串的数组,然后解析每一行歌词字符,获得时间点和对应的歌词,再用创建的歌词对象wslLrcEach来存储时间点和歌词

    3.3K70

    iOS 闹钟功能实现+本地通知+音频播放

    问题描述:通过picker设置时间,到了设定好的时间 闹钟响起,并弹出提示框,点击确定,停止播放音频。...如果设置好了闹钟,没有停在该页面,而是返回了手机主屏幕或是手机锁屏,当到了闹钟设定的时间,会弹出消息通知。(如果设定的时间是已经过去的时间,页面不会有响应,直到设置正确的时间为止.)...self.view.frame.size.height @interface NaoZhongViewController () {     NSTimer * _timer;  //定时器     AVAudioPlayer...button.selected; //求从现在到设置时间的时长秒数(有误差) /*     //1970到picker的秒数     NSTimeInterval seconds=[_picker.date...timeIntervalSince1970];     NSLog(@"%.0f",seconds2);     NSLog(@"时间差是:----%.0f 秒",seconds-seconds2);     */ //求从现在到设置时间的时长秒数

    1.9K40

    如何像抖音直播一样,从 App 直播间到桌面画中画实现画面无缝切换?丨有问有答

    当退后台时,处理画中画的事件回调,从直播播放器拿一个旁路的渲染 view 贴到画中画的 AVPictureInPictureController 视图上,这个旁路的渲染 view 继续渲染直播 flv...需要注意的是: 1)App 要开启后台播放音频,继续播放 flv 流的声音; 2)支持后台渲染的能力,支持退后台后,旁路渲染 view 能平滑渲染 flv 流,这需要设置好 MPNowPlayingInfoCenter.nowPlayingInfo...这个方案有个问题,即真实直播流 flv 和占位流 hls 这两个流的状态其实是不一致的。...如果你确实感兴趣或者有更好的方案,可以在通过本文后的二维码加入我们关键帧的音视频开发圈一起了解和探讨。 - 完 -

    2.1K30

    SSM保姆级从创建项目到使用,包括事务和设置回滚 (转载非原创)

    简介Spring 和 Mybaits整合2. ... 和至少一个数据映射器类。...9 事务的属性,这些属性可以设置但不是必须设置1) 事务的只读属性2) 事务的超时属性3) 回滚和不回滚的异常4) 事务的隔离级别5) 事务传播行为9.1 事务属性:只读对一个查询操作来说,如果我们把它设置成只读...10.2 用法举例在类级别@Transactional注解中设置只读,这样类中所有的查询方法都不需要设置@Transactional注解了,因为对查询操作来说,其他属性通常不需要设置,所以使用公共设置即可...12.1 设置回滚的异常图片12.2 设置不回滚的异常图片12.3 回滚和不回滚异常同时设置图片图片13. 事务属性:事务的隔离级别:事务的隔离级别和事务的传播行为,都是指事务和事务之间的关系。

    94320
    领券