音乐的播放

http://www.cnblogs.com/wendingding/p/3900734.html   

http://blog.csdn.net/ztp800201/article/details/9415577

iOS中的AVAudioPlayer不支持边下边播,所以只能下载到本地再播放。

方法:

[cpp] view plaincopyprint?

NSString *urlStr = @"http://…………xxx.mp3";

NSURL *url = [[NSURL alloc]initWithString:urlStr];

NSData * audioData = [NSData dataWithContentsOfURL:url];

//将数据保存到本地指定位置

NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

NSString *filePath = [NSString stringWithFormat:@"%@/%@.mp3", docDirPath , @"temp"];

[audioData writeToFile:filePath atomically:YES];

//播放本地音乐

NSURL *fileURL = [NSURL fileURLWithPath:filePath];

player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:nil];

[player play];

注意代码中的player是类的私有变量,因为在ARC模式下如果定义局部变量,出了作用域后对象会被销毁。这个问题也是纠结了好久才搞明白。

当然也可以不保存文件,只是将player的构造方法改为用data实例化即可。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容