Objective-C:改变播放器中的曲目

时间:2016-08-31 11:52:07

标签: ios objective-c avaudioplayer

我有2首曲目sound1sound2和2 viewControllers。当我在viewController1 sound1启动我的应用时开始播放。接下来我进入viewController2,我想在按钮点击时更改播放器中的曲目。但后来我点击按钮轨道混合。如何正确更改按钮点击跟踪?

viewController1

NSString *soundFilePath = [NSString stringWithFormat:@"%@/%@.mp3",[[NSBundle mainBundle] resourcePath], @"sound1"];
 NSURL *soundFileURL = [NSURL fileURLWithPath:soundFilePath];
 _player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
 _player.numberOfLoops = 0;
 [_player play];

viewController2

_paths5 = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
                     _documentsDirectory5 = [_paths5 objectAtIndex:0];
                     _filePath5 = [_documentsDirectory5 stringByAppendingPathComponent:@"sound2.mp3"];
                     _fileExists5 = [[NSFileManager defaultManager] fileExistsAtPath:_filePath5 isDirectory:false];

                     NSURL *soundFileURL = [NSURL fileURLWithPath:_filePath5];
                     _player = [[AVAudioPlayer alloc] initWithContentsOfURL:soundFileURL error:nil];
                     _player.numberOfLoops = 0;
                     [_player play];

1 个答案:

答案 0 :(得分:0)

就像停止你的玩家一样,

  [_player stop];

当你的第一个viewcontroller消失时(即viewWillDisappear or viewDidDisappear)。

viewWillAppearviewDidloadviewController播放第二个声音文件。是的。

现在,如果你回到第一个视图控制器,你想要停止第二个VC的声音然后在第二个VC的viewDidDidappear or viewWillDisappear中你可以停止声音,

  [_player stop];

并且可以在第一个VC的viewWillAppearviewDidAppear中再次播放。

你可以这样管理你的东西。