在iOS中流式传输音频文件

时间:2012-08-10 15:17:37

标签: ios audio-streaming

请原谅我,如果已经回答,我做了搜索,但我不熟悉iOS上的流媒体和音频。

我需要在我的应用中发送和接收音频文件。为了提高性能并保持开放连接,我希望能够传输这些数据。

我根据问题的答案查看了HTTP Live StreamingAudioStreamer等内容。但是,这些似乎是连续流式传输,1路(读取)。而我发送一个有限的音频文件(> 10秒),然后接收一个。

我熟悉NSURLConnection,并对此answer进行了审核。但同样,这使用连续,单向流。

我很感激建筑的任何建议,以帮助我开始实现上述目标。

4 个答案:

答案 0 :(得分:2)

通常,AVAudioPlayer使用音乐播放。但是,此框架不支持流式传输。因此,可以使用AVPlayer流式传输。通常,开发人员AVPlayer目的只知道可以播放视频,但也可以播放音乐。

我看一下以下Apple的示例代码是推荐的。这是使用AVPlayer

StitchedStreamPlayer

我上传到myServer Tested,.mp3也完美

3G,在两种环境中测试wifi。虽然示例代码,但令人惊讶的是完美无缺。 mp3文件上传你的服务器。立即尝试测试。会运作良好。

如果您想在后台播放,以下代码不会忘记:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    AVAudioSession* audio = [[AVAudioSession alloc] init];
    [audio setCategory: AVAudioSessionCategoryPlayback error: nil];
    [audio setActive: YES error: nil];

    return YES;
}

答案 1 :(得分:1)

从服务器回放我的Audjustable项目(https://github.com/tumtumtum/audjustable)修复了原始AudioStreamer项目中的大部分问题,包括无间隙播放和解耦音频数据源,以便进行错误恢复,加密等操作。开源...

如果您想将音频数据上传到服务器,您可以采用多种方式,但NSURLConnection似乎是最简单的方法。

答案 2 :(得分:0)

是的,AudioStreamer到现在为止我已经使用并搜索过了。

但是使用AudioStreamer时,尝试在后台进行流式传输时需要进行某些更改,当您创建2个实例时,还需要更多......

https://github.com/mattgallagher/AudioStreamer/

您也可以在我的个人资料中找到2-3个相同的问题......

答案 3 :(得分:0)

我认为您要做的是上传和下载文件到服务器而不是流媒体。要下载,您可以使用NSURLConnection / NSURLRequest。要上传,您可以使用HTTP POST方法。还有一个名为ASIHTTPRequest的旧第三方库。互联网上有很多关于这些主题的样本。