添加声音以在2个不同的视图控制器中播放,并重复声音

时间:2014-03-04 12:32:28

标签: ios objective-c

在我的项目中,我有ViewController&& GameViewController

当应用程序启动时,我想要播放我的sound.mp3,我希望它可以在所有视图中播放,只要应用程序运行,就会重复播放声音。

我几乎看过Youtube上的每一个教程而没有让它发挥作用,它变得非常令人沮丧。

2 个答案:

答案 0 :(得分:1)

您可以使用AVAudioPlayer并在控制器中使用此代码

在viewcontroller.h中

    #import <AVFoundation/AVFoundation.h>
    @interface CCDirectorDisplayLink : CCDirectorIOS <AVAudioPlayerDelegate>
    {
     AVAudioPlayer *_backgroundMusicPlayer;
    }
在你的viewcontroller.m

    -(void) viewDidAppear:(BOOL)animated {

        [super viewDidAppear:animated];

        NSError *error;
        NSString *backgroundMusicPath = [[NSBundle mainBundle] pathForResource:@"yourMP3" ofType:@"mp3"];
        NSURL *backgroundMusicURL = [NSURL fileURLWithPath:backgroundMusicPath];
        _backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
        [_backgroundMusicPlayer setDelegate:self];  // We need this so we can restart after interruptions
        [_backgroundMusicPlayer setNumberOfLoops:0];
        [_backgroundMusicPlayer play];
    }

答案 1 :(得分:0)

我想,您可以尝试在AppDelegate中播放声音。谷歌快速搜索返回我的帖子 -

IOS can I use AVAudioPlayer on the appDelegate?

How do you make a sound file play automatically thought an iOS app and loop using Objective-C?

您可以尝试从这些代码中提取代码并进行实验。希望这会有所帮助。