小编And*_*lla的帖子

如何在静音模式下开始播放音频并在iOS 6中锁定?

最终用户流程

  1. 打开应用
  2. 打开"静音模式".
  3. 按"锁定按钮"
  4. 应用程序仍然可以在数小时后播放声音,而不是在过渡期间播放任何音频.

执行此操作的应用

许多报警应用程序都设法做到这一点我不认为他们正在使用静音音频来保持应用程序运行,因为如果你真的退出家用应用程序它们不会发出声音.

  • 闹钟专业版
  • 我的时钟
  • 波浪报警
  • 惊慌
  • 的iHome
  • ...

...他们是否在锁定某些通知(无法以静音播放声音)之后保持循环运行,启动应用程序备份以播放音频或其他方法?

实施的当前方法

AVAudioPlayer使用:

AudioSessionInitialize(nil, nil, nil, nil);
AudioSessionSetActive(YES);

UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory);
Run Code Online (Sandbox Code Playgroud)

并将Info.plist设置为:

所需的后台模式(UIBackGroundModes) - 应用播放音频(音频)

现在

即使在应用程序运行和屏幕上的静音中,我也可以播放音频.如果音频已在运行,则可以使用主页按钮关闭应用程序并运行音频.但是,如果应用程序没有播放音频,并且屏幕被锁定,则所有线程都将被终止并且音频永远不会播放.这些应用程序如何解决这个问题?

迄今为止找到的可能方法

A.使用'beginBackgroundTaskWithExpirationHandler:'使用无限循环来保持应用程序无限期运行.

优点:

  • 看起来你可以在很多情况下使这项工作,即使用户按下回家.

缺点:

  • 据我所知,这违反了苹果的政策.
  • 将使用更多的资源

评论:

我几乎已经开始工作了,可能需要一些调整.这似乎不是所有这些其他警报正在做的事情,因为如果你按回家BTN他们不会继续运行.这表明他们使用了一些方法,允许他们在锁定时运行但不在BG中运行.(这就是我需要的)

此外,当你问你剩下多少时间跑步时,你会得到大约10分钟.通过在那里放置一个无限循环,数字实际上会降低到0,然后进入负数几个小时.(测试)我不确定这将在现实世界中或在应用程序接受方面如何表现.

B.使用静音音频循环构成连续音频播放媒体中心

优点:

  • 锁定后工作,并在大多数情况下继续运行.

缺点:

  • 如果被其他媒体中心和其他一些场合打断,可能会失败.
  • 也可以再去苹果政策.

评论:

这可以在很多情况下起作用,但到目前为止还不理想.而且就像我再说一遍,必须有另一种没有记录的方法.

迄今为止的结论

使用列出的APP进行测试表明他们没有使用我刚才描述的两种方法中的任何一种.方法'A'似乎更接近,但如果实施则不会表现出这些应用程序的行为方式.

我使用苹果开发者票来获取更多信息,我也会发布任何新的发现.

谢谢

我们非常感谢您的参与,并感谢您的参与.

iphone background silent avaudioplayer ios

46
推荐指数
2
解决办法
2万
查看次数

从iOS 10开始,AVAslayer播放失败,而AVAssetExportSession处于活动状态

AVPlayer 将随机播放音频,而不是显示视频轨道...

AVPlayer在进行活动压缩会话时正确播放视频AVAssetExportSession:exportAsynchronouslyWithCompletionHandler现在失败了.它似乎会导致一些不稳定,直到应用程序进入后台并返回.

检查AVURLAsset视频播放失败时,即使没有视频输出,也有视频轨道.我也没有从压缩器或其他播放组件中得到任何错误......压缩会话返回后,问题就会发生一段时间.

我尝试过不同的单独线程但没有成功.

从iOS 10开始,似乎有些事情会导致两个进程之间发生某种冲突......

avplayer avassetexportsession ios10

9
推荐指数
1
解决办法
2367
查看次数

将Parse.com API与Pubnub相结合是大规模实时消息传递的可行选择并获得组合工具集吗?

基本上将Parse与Pubnub,Pusher或类似组合在一起,而不是从头开始构建自定义后端.

我将使用facebook登录和文件存储/共享来开发实时消息系统.从理论上讲,我可以使用Parse和Pubnub之类的组合来覆盖后端需求.分别为:

Parse负责:

  • 登录
  • 文件存储
  • 推送通知(已关闭的应用)

而Pubnub负责:

  • 真实
  • 时间传递信息......

要求:

我需要一个可以扩展到数百万用户的系统,如果需要,可以快速部署通常一个符合这个标准和规范的解决方案.

标准:

  • 由一个或两个开发人员快速部署.
  • 可以扩展到数百万用户.
  • 高可靠性

眼镜:

  • FB登录
  • 实时消息传递
  • 推送已关闭的应用交付
  • 共享文件和图像存储

任何反馈,如果这作为第一阶段部署将运作良好,任何陷阱将非常感谢.

chat real-time backend ios pubnub

8
推荐指数
2
解决办法
3814
查看次数

检测通知中心设置

我的应用需要在iOS 5通知中心设置为"提醒"并启用"声音".根据我的发现,你的应用程序无法正确设置这些,这将是最好的选择,所以如果我错了就纠正我.

所以,我正在寻找一个检测当前设置的程序,并警告用户这些是不正确的.

iphone settings notifications center ios5

6
推荐指数
1
解决办法
2594
查看次数

Ejabberd如何管理数据库以进行群集?

它是将所有数据复制到每个节点还是将数据片段存储在每个节点上,然后在运行时从不同节点获取所需的每个片段?或者这是如何工作的?

如果您使用MySQL而不是Mnesia,群集是否仍能正常工作?

mysql erlang mnesia cluster-computing ejabberd

6
推荐指数
2
解决办法
1759
查看次数

Facebook让用户邀请所有朋友尝试应用

一些不是游戏的应用程序正在为其用户提供邀请所有Facebook好友尝试iOS应用程序的功能.

工作流程

  1. 用户按下邀请朋友
  2. 弹出提示邀请所有朋友
  3. 用户接受
  4. facebook提示用户想要访问你的朋友
  5. 用户接受
  6. 所有朋友都被邀请了

主要

  • 他们如何获得所有用户的访问权限?
  • 他们使用什么方法发送请求?

注意事项:

  • 他们使用的是旧的SDK,API还是iOS社交框架?
  • 应用程序很久以前就注册了吗?

这是Meow Chat我确认目前正在做的事情.

APP提示:

喵喵聊天弹出窗口

最终用户通知:

最终用户形象

我发现了类似的问题,但没有一个能够解决这个问题或提供答案.

share facebook invite ios

6
推荐指数
0
解决办法
3572
查看次数

iOS 5 SDK以不同方式处理UIViews

我的应用程序用于在xCode 4.0.2中完美编译,不再可以在xCode 4.2中使用新SDK进行正确编译.

我的模态观点工作非常不同,有些州没有被发现,或者其他解雇不起作用.例如,这用于解散2个堆叠的模态视图:

if(self.parentViewController.parentViewController)
        [self.parentViewController.parentViewController dismissModalViewControllerAnimated:YES];
else
    [self dismissModalViewControllerAnimated:YES];
Run Code Online (Sandbox Code Playgroud)

现在这只是驳回了第一个观点......

我一直在寻找有关这些变化的文档,但没有找到.主要应用程序委托似乎也有不同的工作方式.

非常感谢.

iphone modal-dialog uiview dismiss ios5

4
推荐指数
1
解决办法
1796
查看次数