i have set of music player. queries user's itunes , plays songs based on query. reason, button, won't change when playback state changes. have both , nslog , label , both reference when comes button, nothing happens. here's code:
- (void) handle_playbackstatechanged: (id) notification { mpmusicplaybackstate playbackstate = [self.player playbackstate]; if (playbackstate == mpmusicplaybackstatepaused) { self.textlabel.text = @"play"; [playbutton settitle:@"stop" forstate:uicontrolstatenormal]; // set title nslog (@"this paused"); self.playbarbutton.title = @"play"; self.playbutton = playbutton; [self.playbutton settitlecolor:[uicolor redcolor] forstate:uicontrolstatenormal]; } else if (playbackstate == mpmusicplaybackstateplaying) { self.textlabel.text = @"pause"; [playbutton settitle:@"pause" forstate:uicontrolstatenormal]; self.playbutton = pausebutton; nslog (@"this playing"); } else if (playbackstate == mpmusicplaybackstatestopped) { self.textlabel.text = @"play"; self.playbutton = playbutton; [self.player stop]; } }
any ideas?
i figured out. needed add code below in viewdidload
if ([musicplayer playbackstate] == mpmusicplaybackstateplaying) { [playpausebutton setimage:[uiimage imagenamed:@"pausebutton.png"] forstate:uicontrolstatenormal]; } else { [playpausebutton setimage:[uiimage imagenamed:@"playbutton.png"] forstate:uicontrolstatenormal]; }