我在ViewController
中有一个音频播放器。当在另一个ViewController
的DidSelectRow
的tableview
中选择一首歌曲时,我将其称为viewcontroller
。我面临的问题是当我选择一首歌曲时,它会推送到Audioplayer View Controller并开始播放,但是当我按回去并从专辑中选择另一首歌曲时,上一首歌曲并没有停止,在选择新歌曲时它仍会播放。 。而先前选择的歌曲也会一起播放。对于每首歌曲的选择,将推送音频播放器AlbumViewController
的新实例,并一起播放所有选择的歌曲。我的带有viewcontroller
的相册控制器选择了行代码,如下所示
viewContObj=[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil]; //viewcontroller=audio player controller
[self.navigationController pushViewController:viewContObj animated:YES];
viewContObj.url =[NSURL URLWithString:albumURLstring];
[viewContObj playLiveStream:nil];
音频播放器的播放方法如下。
-(IBAction)playLiveStream:(id)sender
{ if ( ![streamer isPlaying] )
{ [self createStreamer];
[self setButtonImageNamed:@"loadingbutton.png"];
[streamer start];
}
else
{ [self setButtonImageNamed:@"play.png"];
[streamer pause];
}}
最佳答案
像这样在.m文件的@interface
部分中放置一个ivar
@property (strong, nonatomic) ViewController *playerView;
并在
viewDidLoad
方法中分配init如下playerView=[[ViewController alloc]initWithNibName:@"ViewController" bundle:nil];
并在
tableView: didSelectRowAtIndexPath:
方法中执行以下操作playerView.url =[NSURL URLWithString:albumURLstring];
[playerView playLiveStream:nil];
[self.navigationController pushViewController:playerView animated:YES];
这可以解决您的问题:)
关于ios - 每次都会生成一个新的ViewController实例,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15292577/