Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 多点连接音频流停止后台工作_Iphone_Objective C_Ios7_Audio Streaming_Multipeer Connectivity - Fatal编程技术网

Iphone 多点连接音频流停止后台工作

Iphone 多点连接音频流停止后台工作,iphone,objective-c,ios7,audio-streaming,multipeer-connectivity,Iphone,Objective C,Ios7,Audio Streaming,Multipeer Connectivity,我正在用iOS 7的Multipeer连接性framework做一些音频流。流媒体工作得很好,但当我把应用程序放在后台时,它就停止工作了 有人可以告诉我这是一个框架限制,还是我做错了什么 而且,如果这是一个框架限制,是否可以采取措施避免这种情况 我可以使用后台任务来保持流媒体和音乐在后台工作吗 有可能这样做吗?如果不可能,是否存在iOS设备之间的MultiPeer音频流的替代方案 我使用这个例子: 本页已解释: 非常感谢 iOS设备在用户对其进行后台处理后,会获得有限的cpu周期,用于明确目

我正在用iOS 7的
Multipeer连接性
framework做一些音频流。流媒体工作得很好,但当我把应用程序放在后台时,它就停止工作了

有人可以告诉我这是一个框架限制,还是我做错了什么

  • 而且,如果这是一个框架限制,是否可以采取措施避免这种情况

  • 我可以使用后台任务来保持流媒体和音乐在后台工作吗

  • 有可能这样做吗?如果不可能,是否存在iOS设备之间的
    MultiPeer
    音频流的替代方案

我使用这个例子:

本页已解释:


非常感谢

iOS设备在用户对其进行后台处理后,会获得有限的cpu周期,用于明确目的

根据on multitasking and execution in the background,支持以下类型的应用程序,但必须明确声明:

  • 在后台向用户播放音频内容的应用程序,如音乐播放器应用程序
  • 在后台录制音频内容的应用程序
  • 随时通知用户其位置的应用程序,如导航应用程序
  • 支持互联网语音协议(VoIP)的应用程序
  • 需要定期下载和处理新内容的应用程序
  • 从外部附件接收定期更新的应用程序
您的案例属于在后台向用户播放音频内容的
应用程序,例如音乐播放器应用程序
。您可以从上面提供的链接中找到更多信息。

上的(向下滚动一点)。一些相关段落:

当UIBackgroundModes键包含音频值时,系统的媒体框架会自动防止相应的应用程序在移动到后台时暂停。只要它正在播放音频或视频内容或录制音频内容,应用程序就会继续在后台运行。但是,如果录制或播放停止,系统将挂起应用程序

您可以使用任何系统音频框架处理背景音频内容,使用这些框架的过程不变

这意味着iOS应该识别您正在通过核心音频播放音频,并保持您的应用程序未挂起,只要您已正确配置应用程序在后台播放音频

因为您的应用在播放媒体文件时没有挂起,所以当您的应用在后台时回调操作正常。不过,在回调中,您应该只做为回放提供数据所需的工作。例如,流媒体音频应用程序需要从其服务器下载音乐流数据,并将当前音频样本推出播放。应用程序不应执行任何与播放无关的无关任务

只要你的应用程序还在播放音频,你就应该能够正常运行,并且允许你做它需要做的事情,以便继续播放音频。这意味着您应该能够继续在后台使用MPC来接收音频数据并播放它


请务必阅读有关此主题的全部文档,尤其是关于。

您描述的后台模式是通过网络进行后台下载,以保持数据的最新状态。它不适用于多点流媒体。这将每隔几个小时调用一次,以使应用程序中的内容保持最新,这是不定期的,并且是由iOS系统本身决定的。谢谢,但是如果使用MultiPeer Connectivity framework无法实现,我还能做什么?是否有其他方法可以同时将音乐流传送到多个设备?我读了很多书,但我找不到正确的方法。数据总是来自一个设备吗?想法是为连接到多个EER会话的任何设备创建数据,但是如果你知道从一个设备创建数据的方法,无论如何,对我来说都是有用的。如果你同意只从一个设备创建数据,然后,您可以在“主机”设备上使用Web服务器。否则,我认为你可能会与MPC的运气。您可以尝试使用音频背景模式,但您的应用程序似乎不属于涵盖的用例(本地、URL、Airplay)。不过还是值得一试。你有充分的理由,真的谢谢你!。嗯,我需要等19个小时才能拿到你的分数:D!2019年的预测是否仍然准确?我的理解是,如果UIBackgroundModes中没有“voip”键,网络活动(使用MultipeerConnectivity)可能会在后台操作约10分钟后被阻止。有关于此主题的更新吗?您的应用程序在审核过程中被拒绝了吗?我阅读了至少一个示例应用程序,该应用程序将音频流传输到多个iOS设备,并从应用程序商店中删除。我使用了TDAudioStreamer,但它没有播放音频,只是显示歌曲文件的图像和信息。你能告诉我你是如何实施的吗?