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