hye*_*ung 1 objective-c avaudioplayer ios
我无法播放mp3音频文件.
URL_PATH = @"http://...../.…./A1.mp3";
Run Code Online (Sandbox Code Playgroud)
NSError*错误;
player = [[AVAudioPlayer alloc]initWithContentsOfURL:[NSURL URLWithString:URL_PATH] error:&error];
if (error)
{
NSLog(@"error:%@",error.localizedDescription);
}
if (player ==nil)
{
NSLog(@"nil");
}
else
{
NSLog(@"playing");
[player play];
}
Run Code Online (Sandbox Code Playgroud)
错误代码 :
error:The operation couldn’t be completed. (OSStatus error -43.)
nil
Run Code Online (Sandbox Code Playgroud)
我能怎么做?请告诉我提示.预先感谢!
您正在使用错误的播放器播放从网络流捕获的音频.请参阅Apple的文档AVAudioPlayer:
Apple建议您使用此类进行音频播放,除非您正在播放从网络流捕获的音频或需要非常低的I/O延迟.有关音频技术的概述,请参阅"多媒体编程指南"中的音频和视频起点和"使用音频".
一种解决方法AVAudioPlayer是获取音频数据并将其放入NSData.然后你可以初始化你AVAudioPlayer的initWithData:error:.另外,不要将代码放在主队列中.否则,它将阻止您的用户界面对用户的输入作出反应.
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
NSURL *mp3URL = [NSURL URLWithString:@"http://zhangmenshiting.baidu.com/data2/music/44799433/4479927746800128.mp3?xcode=dbff90a141d5d136fdc7275fdc3fae126077a44adc974ad8"];
NSData *data = [NSData dataWithContentsOfURL:mp3URL];
self.audioPlayer = [[AVAudioPlayer alloc] initWithData:data error:NULL];
[self.audioPlayer play];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |