我分配初始化后 AVAudioPlayer 为零
Posted
技术标签:
【中文标题】我分配初始化后 AVAudioPlayer 为零【英文标题】:AVAudioPlayer is nil after i alloc init 【发布时间】:2015-01-05 07:26:45 【问题描述】:我在我的项目中被困在 AVAudioPlayer。情况是, 在 CollectionViewController 的“didSelectItemAtIndexPath”方法中,我像下面这样分配和初始化 AVAudioPlayer,
dict=[plist objectAtIndex:indexPath.item];
NSURL* urlPath=[NSURL new];
urlPath=[NSURL URLWithString:[dict objectForKey:@"FilePath"]];
NSError *error = nil;
self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:urlPath error:&error];
NSLog(@"Error[%@]",[error localizedDescription]);
[self.player setDelegate:self];
[self.player prepareToPlay];
但在此之后,它仍然是空的.. 首先,我尝试不让玩家拥有财产。但没有运气.... 所以我尝试使用this
【问题讨论】:
你有没有仔细检查 urlPath 不为零? @WorldOfWarcraft "urlPath" 不为零.. 你把你的代码放在didSelectItemAtIndexPath
,这意味着播放器只有在你选择的时候才会启动。
在此处发布您的代码。
【参考方案1】:
这样试试
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
NSLog(@" selected data ==%@",[yoururlarray objectAtIndex: indexPath.row]);
urlPath=[yoururlarray objectAtIndex: indexPath.row]);
self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:urlPath error:nil];
[self.player setDelegate:self];
[self.player prepareToPlay];
【讨论】:
以上是关于我分配初始化后 AVAudioPlayer 为零的主要内容,如果未能解决你的问题,请参考以下文章
(iphone) 如何使用 AVAudioPlayer 顺序播放声音?
在 applicationDelegate 中初始化和分配视图控制器使 viewController 中的所有 UI 元素为零
如何将“AVAudioPlayer.Type”类型的值分配给“AVAudioPlayer?”
分配有效的 UIImage 后 UIImageView.image 始终为零