2011-05-29 178 views
20

我会如何将音频从iOS设备流式传输到其他设备,如Mac或其他iOS设备?我只能在Google上找到像AirPlay这样的解决方案,而在自己的应用程序中只能找到解决方案。我会假设你将不得不通过某种服务器。来自iOS的流音频

要清楚,我不想复制AirPlay。我期待做非常基本的VoIP。

+1

伟大的问题。 – Moshe 2011-05-29 05:00:27

+0

是的,这是非常真实的。令人惊讶的是,Apple写入iOS软件的API让您可以使用iOS设备作为AirPlay服务器(发件人),它将数据发送到AirPlay客户端(recvr),从而使您可以按照刚才所说的去做。因此,您可以为自己授权AirPlay技术,或者您可以复制iOS AirPlay技术的功能,并说服iOS ......我想你会看到我要去的地方。你想做什么?不是所有的iOS设备都有耳机端口吗?他们是不是都是为了个人媒体消费? – jcolebrand 2011-05-29 05:02:30

回答

0

你说你不想使用AirPlay。与此同时,你需要在iOS设备上运行你自己的服务器。这当然是可能的,并且有一些应用程序可以运行各种服务器来执行各种任务。但是,我对这个主题不是很熟悉,看起来你是正确的,没有太多的在线信息。我想建议看看Darwin Streaming Server。看起来它有点旧,但它是开源的,可能对你有用。

3

编辑 - 2011年8月12日

我不知道你想从设备到设备与音频。您始终可以使用CFNetwork并将套接字插入设备。诀窍是要检测它。看看bonjour服务。您仍然需要使用AudioToolbox将音频处理为缓冲区,并通过bonjour或套接字进行处理。

编辑完

@格雷格AVFoundation给你之类的东西AVAudioRecorder,但它并不完全让喜欢他想让你中流了出来包。

我会看看AudioToolbox。如果您使用AudioQueue,则可以指定流式传输格式。然后,添加一个输入队列回调,您可以访问录制音频的原始数据包。

查看iLBC的编解码器。它有足够小的空间让你可以完成超过3g的任何事情。

这里有AudioQueue编程一个伟大的苹果参考: http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQRecord/RecordingAudio.html

祝你好运!

0

我认为一个好的开始是了解CoreAudio的旧例子: SpeakHere(它使用低级C API来记录和播放声音。CoreAudio的是AVFoundation的祖先)

之一,因为@DexterW说你需要的AudioQueue知识等

之后,你可以开始在服务器/数据包思维流至:)

希望能帮助到你。

0

你会做完全一样:

https://drive.google.com/open?id=1tKgVl0X92SYvgpvbljRzilXNQ6iBcjqM

运行这个程序上的两个iOS设备;它会自动将两台设备连接到您的网络之间开始流式传输音频。

该接口由一个UI组件组成,特别是一个文本字段,其中记录了应用程序事件。这会让您轻松了解应用程序的架构。

enter image description here

您需要的Xcode 9和iOS 11.

的最新测试版本的发布让我知道,如果你有任何问题。