首页 / IOS / ios - 听书功能的后台播放
ios - 听书功能的后台播放
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ios - 听书功能的后台播放,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2461字,纯文字阅读大概需要4分钟。
内容图文
一、前言
本周为APP集成了一个TTS听书功能,遇到了些问题,在这里记录下。
TTS听书用的是京东TTS,SDK的用法这里就不在多说了,还是蛮简单的。附上集成文档:https://aidoc.jd.com/speech/tts.html
在集成玩听书功能后,锁屏后发现APP内的TTS停止了播放。。。这就很尴尬,听书肯定得在后台播放啊
研究了下,发现需要做一些设置。
二、处理
1、首先在 Signing&Capabilites 下的background Modes 先勾选Audio、、、
2、设置锁屏播放下的视图资源
直接上代码
- (void)startSetupBackVoiceView { NSMutableDictionary * songDict = [[NSMutableDictionary alloc] init]; [songDict setObjectSafely:self.chapterName aKey:MPMediaItemPropertyTitle];// 歌曲题目 [songDict setObjectSafely:@"TTS小一" aKey:MPMediaItemPropertyArtist];// 歌手名 [songDict setObjectSafely:self.bookName aKey:MPMediaItemPropertyAlbumTitle];// 专辑名 [songDict setObjectSafely:[NSNumber numberWithDouble:totalTime] aKey:MPMediaItemPropertyPlaybackDuration];// 歌曲时长 [songDict setObjectSafely:[NSNumber numberWithDouble:currentTime] aKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];// 已播时长 [songDict setObjectSafely:[NSNumber numberWithInteger:rate] aKey:MPNowPlayingInfoPropertyPlaybackRate]; // 播放速率 [songDict setObjectSafely:[[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"logoLogo"]] aKey:MPMediaItemPropertyArtwork]; // 图片 [[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songDict]; }
注:这里的信息很多都不需要填完整,看项目的需求,我们受益小说TTS听书功能,所以只太难了一个歌曲题目和歌手名。
3、AppDelegete 里面的设置
- (void)applicationDidEnterBackground:(UIApplication *)application { NSLog(@"applicationDidEnterBackground:"); [application beginReceivingRemoteControlEvents]; } - (void)applicationWillEnterForeground:(UIApplication *)application { NSLog(@"applicationWillEnterForeground:"); [application endReceivingRemoteControlEvents]; }
注:开启后台播放模式
#pragma mark - 后台播放 - (BOOL)canBecomeFirstResponder { return YES; } - (void)remoteControlReceivedWithEvent:(UIEvent *)event { switch (event.subtype) { case UIEventSubtypeRemoteControlPlay: { [[HYJingDongTTSManager sharedJingDongTTS] resumeCompoundVoice]; } break; case UIEventSubtypeRemoteControlPause: { [[HYJingDongTTSManager sharedJingDongTTS] pauseCompoundVoice]; break; } case UIEventSubtypeRemoteControlPreviousTrack: {//上一曲break; } case UIEventSubtypeRemoteControlNextTrack: {//下一曲break; } case UIEventSubtypeRemoteControlTogglePlayPause: {//小窗口暂停 [[HYJingDongTTSManager sharedJingDongTTS] pauseCompoundVoice]; NSLog(@"---------点击小窗口暂停按钮"); break; } default: break; } }
注:这里是监测锁屏下视图的点击事件,值得注意的是这个 UIEventSubtypeRemoteControlTogglePlayPause ,这个是点击下拉设置页面的小窗口的暂停事件,这个单独提取出来了。
再运行下就好了,就会在锁屏页出现后台播放的视图了。
原文:https://www.cnblogs.com/qiyiyifan/p/12209697.html
内容总结
以上是互联网集市为您收集整理的ios - 听书功能的后台播放全部内容,希望文章能够帮你解决ios - 听书功能的后台播放所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。