AVAudioplayer时error解决 创建失败
来源:互联网 发布:圣塔克拉拉大学 知乎 编辑:程序博客网 时间:2024/06/09 02:55
AVAudioplayer时error解决 创建失败
AVAudioplayer 有两个初始化方法:
1、[[AVAudioPlayer alloc] initWithData:musicData error&e];
2、[[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error];
第一种是使用将音频文件的data文件初始化,但是data必须是一个完整的文件。
第二种是从url获取,但是这里的url是本地的file URL。
所以AVAudioplayer无法直接从网络url上获取音频文件,所以可以用:
data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@”http://…/file.mp3“]];
将网络上音频down下来,再用initWithData初始化player。但是这样down下来的文件有时是不完整的,所以出现创建失败问题,出现:
Error Domain=NSOSStatusErrorDomain Code=1954115647
解决这个问题的方法就是将data保存在本地,在通过initWithContentsOfURL,找到该文件,这样就可以成功创建了。
NSData *audioData = [NSData dataWithContentsOfURL:someURL]; NSString *docDirPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES) objectAtIndex:0]; NSString *filePath = [NSString stringWithFormat:@"%@/%@.mp3", docDirPath , fileName];[audioData writeToFile:filePath atomically:YES]; NSError *error; NSURL *fileURL = [NSURL fileURLWithPath:filePath]; player = [[AVAudioPlayer alloc] initWithContentsOfURL:fileURL error:&error]; if (player == nil) { NSLog(@"AudioPlayer did not load properly: %@", [error description]); } else { [player play];}
0 0
- AVAudioplayer时error解决 创建失败
- AVAudioplayer时error解决 创建失败
- iOS AVAudioPlayer 加载mp3 失败 错误: “OSStatus error 1954115647”
- 创建实例失败 state error
- iOS AVAudioPlayer 加载mp3 失败
- 解决AndroidStudio创建模拟器时unknown error
- 解决VC2010创建项目失败
- 解决Maven创建项目失败
- AVAudioPlayer
- AVAudioPlayer
- AVAudioPlayer
- AvaudioPlayer
- 解决AndroidStudio创建模拟器时Unknown Error问题
- 创建AVD时unknown error异常的解决
- IOS 创建AVAudioPlayer时出现问题:Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"
- AVAudioPlayer 无法播放本地声音文件的解决
- AVAudioPlayer不能正常播放声音如何解决?
- 统计AVAudioPlayer 播放时长
- PyCharm 2017.1.1 破解
- BZOJ 3224: Tyvj 1728 普通平衡树(替罪羊树)
- css之三栏布局
- MySQL数据库备份还原(基于binlog的增量备份)
- profiling和trace语句使用
- AVAudioplayer时error解决 创建失败
- JDK中的URLConnection参数详解
- kNN(k近邻算法)
- C++第5次实验报告
- 机器人相关的会议期刊
- centOS7系统安装jdk异常报错解决方法
- String.Compare(String, String, StringComparison)方法
- 十字链表
- vue2学习计划1-2 浏览器跨域问题