我在SO上发现了很多相关的问题,但是因为我很新,或者因为它不适合我的问题,我找不到成功的方法。
所以,我想做的就是直接在iOS设备上播放存储在外部服务器上的音频文件(在我的情况下是iPhone)
我在网上尝试了不同的解决方案,这是我到现在为止所得到的。
NSString* resourcePath = @"http://www.chiptape.com/chiptape/sounds/medium/laugh.mp3"; //your url
NSURL *url = [[NSURL alloc]initWithString:resourcePath];
NSError *error;
audioPlayer = [[AVAudioPlayer alloc] initWithURL:url error:&error];
audioPlayer.delegate = self;
[url release];
[audioPlayer prepareToPlay];
[audioPlayer play];
编译器向我显示此错误:
'AVAudioPlayer'没有可见的@interface声明选择器 'initWithURL:错误:
我对我的代码一点也不确定,并且希望你的伙伴们知道我昨天已经开始编写iOS代码了,所以我不会错过一些如此明显的教程/帖子没有提到的东西。
另外,我已导入库AVFoundation并将其导入我的.h文件。 我也在我的.h文件中声明了这个
AVAudioPlayer *audioPlayer;
我希望有一种简单的方法可以在iOS上传输音频文件,因为它提供了android / java
谢谢,如果您需要更多详细信息,我会更新我的帖子。
答案 0 :(得分:0)
我最近正在使用它。
AVAudioPlayer无法使用音频流。事实上,没有一种简单的方法可以做到这一点。
你需要学习一些Core Audio的东西,获取媒体的原始数据,在audioQueue(audioToolBox框架)中播放它们。实时音频处理不是一件简单的工作,它充满了c级api和如此多的肮脏工作,不要急,玩得开心:))
查看图书Learning Core Audio和此开源audio streamer。
如果您需要更多帮助,请与我联系。
答案 1 :(得分:0)
试试这个:
NSString* resourcePath = @"http://www.chiptape.com/chiptape/sounds/medium/laugh.mp3"; //your url
NSURL *audioURL = [NSURL URLWithString:resourcePath];
AVAudioPlayer *audioPlayer = [[[AVAudioPlayer alloc] initWithContentsOfURL: audioURL error:&error]autorelease];
[audioPlayer play];