0
所以这是我的代码:声音为什么不播放?
在按下按钮:
-(void)mediaPicker: (MPMediaPickerController *)mediaPicker didPickMediaItems:(MPMediaItemCollection *)mediaItemCollection {
[self dismissModalViewControllerAnimated:YES];
self.selectedSong = mediaItemCollection;
NSLog(@"Selected song: %@", self.selectedSong);
}
后来:
-(void)waitUntilSpeechIsDone {
NSLog(@"Test");
if ([audio isEqualToString:@"Music"]) {
if ([musicWhenToStart isEqualToString:@"Before"]) {
NSLog(@"Test");
NSLog(@"Selected song: %@", self.selectedSong);
[self.musicPlayer stop];
[self.musicPlayer setQueueWithItemCollection:self.selectedSong];
[self.musicPlayer play];
}
}
}
它的定义为:
@interface RewriteViewController : UIViewController <MPMediaPickerControllerDelegate> {
MPMediaItemCollection *selectedSong;
}
@property(nonatomic,retain) MPMusicPlayerController *musicPlayer;
@property(nonatomic,retain) MPMediaItemCollection *selectedSong;
MPMediaItemCollection *selectedSong;
然后两者都在.m文件中合成。
好的,所以它通过了上半场罚款。 NSLog返回类似于“选择的歌曲:”然后NSLog返回“测试”,(我把它放在那里,所以我知道它有这么远,以防下一行出于某种原因崩溃)。然后当它到达下一行时,它返回“Selected song:(null)”。
任何想法为什么?
编辑:两者都在dealloc中发布。
如果可以,请包含崩溃的堆栈跟踪。 – raidfive 2011-02-04 20:17:12
没有崩溃。它只是返回为空,所以音频不播放。 – Andrew 2011-02-04 20:24:55