- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章iOS视频中断后台音乐播放的处理方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
问题(app store 用户评论反馈):
解决方案:
在播放音频时让其他程序静音,或者在其他程序的音频之上播放音频.
avaudiosession 类由 avfoundation 框架引入。每个 ios 应用都有一个音频会话。这个会话可以被 avaudiosession 类的 sharedinstance 类方法访问,如下
1
|
avaudiosession *audiosession = [avaudiosession sharedinstance];
|
在获得一个 avaudiosession 类的实例后,你就能通过调用音频会话对象的 setcategory:error: 实例方法,来从 ios 应用可用的不同类别中作出选择.
下面列出了可供使用的音频会话类别
avaudiosessioncategoryambient 。
这个类别不会停止其他应用的声音,相反,它允许你的音频播放于其他应用的声音之 上,比如 ipod。你的应用的主 ui 线程会工作正常。调用 avaplayer 的 preparetoplay 和 play 方法都将返回 yes.
avaudiosessioncategorysoloambient 。
这个非常像 avaudiosessioncategoryambient 类别,除了会停止其他程序的音频回放,比如 ipod 程序。当设备被设置为静音模式,你的音频回放将会停止.
avaudiosessioncategoryrecord 。
这会停止其他应用的声音(比如 ipod)并让你的应用也不能初始化音频回放(比如 avaudioplayer )。在这种模式下,你只能进行录音。使用这个类别,调用 avaudioplayer 的 preparetoplay 会返回 yes,但是调用 play 方法将返回 no。主 ui 界面会照常工作。这时, 即使你的设备屏幕被用户锁定了,应用的录音仍会继续.
avaudiosessioncategoryplayback 。
这个类别会禁止其他应用的音频回放(比如 ipod 应用的音频回放)。你可以使用 avaudioplayer 的 preparetoplay 和 play 方法,在你的应用中播放声音。主 ui 界面会照常工作。这时,即使屏幕被锁定或者设备为静音模式,音频回放都会继续.
avaudiosessioncategoryplayandrecord 。
这个类别允许你的应用中同时进行声音的播放和录制。当你的声音录制或播放开始后, 其他应用的声音播放将会停止。主 ui 界面会照常工作。这时,即使屏幕被锁定或者设备为 静音模式,音频回放和录制都会继续.
avaudiosessioncategoryaudioprocessing 。
这个类别用于应用中进行音频处理的情形,而不是音频回放或录制。设置了这种模式, 你在应用中就不能播放和录制任何声音。调用 avaplayer 的 preparetoplay 和 play 方法都将 返回 no。其他应用的音频回放,比如 ipod,也会在此模式下停止.
解决方案:当我们自己开发的应用播放时,暂停其他应用的播放,当我们的应用播放完毕时,继续其他应用的播放,核心代码如下:
具体实现 。
后台音乐播放暂停与继续 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
// 继续播放后台背景音乐, 取消激活当前应用的audio session
+ (
void
)resumebackgroundsoundwitherror:(nserror **)error {
[[avaudiosession sharedinstance] setactive:no withoptions:avaudiosessionsetactiveoptionnotifyothersondeactivation error:error];
}
//暂停后台背景音乐的播放,激活当前应用的audio
+ (
void
)pausebackgroundsoundwitherror:(nserror **)error {
avaudiosession *session = [avaudiosession sharedinstance];
[session setcategory:avaudiosessioncategoryplayback withoptions: avaudiosessioncategoryoptionallowbluetooth error:error];
[session setactive:yes error:error];
}
+ (
void
)pausebackgroundsoundwithcategoryrecord {
avaudiosession *session = [avaudiosession sharedinstance];
[session setcategory:avaudiosessioncategoryrecord error:nil];
[session setactive:yes error:nil];
}
|
注:
总结 。
到此这篇关于ios视频中断后台音乐播放的处理方法的文章就介绍到这了,更多相关ios视频中断后台音乐播放内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://juejin.im/post/5f118c52f265da230f285240 。
最后此篇关于iOS视频中断后台音乐播放的处理方法的文章就讲到这里了,如果你想了解更多关于iOS视频中断后台音乐播放的处理方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
启动Android游戏时,我试图让一些音乐淡出。音乐在主菜单中播放,然后在播放器单击播放时淡出。我可以停止播放音乐,只是不会消失。 我试图用这个淡出: using UnityEngine; using
我正在 XNA 中创建一个游戏,它可以使用大量的音乐循环,但我似乎无法同步这些声音。 我总是错过几毫秒你能帮我吗? 这是我第一次尝试同步声音。请注意,我需要处理数十种声音...... 这个同步问题可能
我使用以下代码播放了一首歌,但它有 11 分钟长,我该如何停止它? 此代码位于 jFrame 1 中。如何使其停止在 jFrame 2 中? Input
在阅读我的书并浏览一些 YouTube 教程后,我对标准化的理解是,重要的事情之一就是不要有重复的值。更具体地说,主键 (ID) 不应重复。 因此,如果我正在使用音乐/音乐会数据库中的某些表,那么以下
我正在用 java 创建一个应用程序/游戏,其中包含背景音乐/声音。一切都按预期工作。如果播放某些系统声音/媒体声音/其他声音,我想静音/停止。 有什么建议...?? 最佳答案 我建议不要关心这个问题
只是尝试从图像 (1080p .png) + 音乐 (320Kb mp3) 为 youtube 制作视频。 ffmpeg -loop 1 -i image.png -i music.mp3 -
我正在GW-Basic中开发游戏,我想向其中添加音乐,但问题是我无法在后台播放,但是当我添加声音时先播放声音,然后在开始执行游戏和vICE之后vERSA。而我希望这两件事同时播放..所以知道怎么做吗?
我正在使用Xcode的Sprite套件开发iPhone游戏,想知道是否有一种简单或最佳实践的方法可以通过编程方式消除所有声音效果/音乐?对我来说,最明显的方法是创建一些 bool(boolean) 变
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 3年前关闭。 Improve this questi
我正在设计一个 Android 应用程序,需要依次播放各种短音乐文件。 我设置了一个“onClick”监听器来运行一个循环,一遍又一遍地播放这些声音文件,它们可能会播放 100 多次。 但是 我需要用
我有一个网站,其中包含集成到布局中的 Flash 音乐播放器。我希望用户能够在不中断音乐的情况下浏览网站。我做了很多研究和思考,以下是我提出的选项(请记住,我希望尽可能对 SEO 友好)。有人有其他想
我可以即时生成一些音调并播放声音吗?例如,如果我想生成 DO RI MI FA SO LA XI 音调并播放它们? 似乎声音 API 都是为了播放现有的音频文件。谢谢! 最佳答案 参见 Matt Ga
我一直在尝试将音乐添加到我的应用程序中,但没有特别成功。我一直在尝试使用 AVFoundation,我的代码如下: //MUSIC var audioPlayer = AVAudioP
MPMediaPickerController 返回一个 MPMediaItem 如果返回本地 url,则可以播放声音。 如果音乐没有下载到本地,则assetURL为空。 如何在本地下载 MPMedi
有什么方法可以检测是否正在播放 iPod 应用以外的其他来源的音乐或媒体? 我知道我可以检测到从 ipod 播放的音乐: [[MPMusicPlayerController iPodMusicPlay
我刚刚安装了 music21,我正在尝试开始使用它。我安装了 Musescore3,但我无法使 show() 函数工作。 我试过按照我在网上找到的一些说明更改路径,但无济于事 from music21
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
我目前正在寻找某种方式来扩展SFML.Net以使用MP3。因此,ioctllr推荐了NLayer,我想尝试一下。这是我的方法: namespace AudioCuesheetEditor.AudioB
我包含了正确的库和所有内容,这部分代码由于某种原因给出了段错误: int numerator = atoi(&fraction[0]); int denominator = atoi(&fracti
是否可以播放 AVPLayer 实例(带有视频)并同时使用 MPMusicPlayerController 实例来播放 iTunes 播放列表? 我尝试了几种解决方案,但每次播放视频时音频都会停止,每
我是一名优秀的程序员,十分优秀!