如何使用AVAudioEngine从网络播放声音?

时间:2018-11-05 03:59:07

标签: objective-c xcode audio

(1)我已经可以使用AVAudioPlayer从网络播放mp3文件。(2)我也可以使用AVAudioEngine从主捆绑包资源播放mp3文件。

所以我的问题是要使用AVAudioEngine从网络而不是主捆绑包(本地)播放mp3文件...

(1)(部分代码/可以正常运行!)

NSURL *mp3URL = [NSURL URLWithString:@"https://www.xx.com/xx.mp3"];
NSData *mp3Data = [NSData dataWithContentsOfURL:mp3URL];
AVAudioPlayer *mp3Player = [[AVAudioPlayer alloc] initWithData:mp3Data error:nil];

(2)(部分代码/没问题)

AVAudioEngine *engine = [[AVAudioEngine alloc] init];
NSString *path=[[NSBundle mainBundle] pathForResource:xx ofType:@"mp3"];
NSURL *URL = [NSURL fileURLWithPath:path];
AVAudioFile *audioFile = [[AVAudioFile alloc] initForReading:URL error: nil];
AudioPlayerNode *playerNode = [AVAudioPlayerNode new];
AVAudioFormat *format = audioFile.processingFormat;
AVAudioFrameCount length = (AVAudioFrameCount)audioFile.length;
AVAudioPCMBuffer *buffer = [[AVAudioPCMBuffer alloc]initWithPCMFormat:format frameCapacity:length];
[audioFile readIntoBuffer:buffer error:nil];

// ...待续其他代码...

谢谢您的帮助!如果您需要更多信息,请告诉我。

0 个答案:

没有答案