How do I add background music to my spritekit file

末鹿安然 提交于 2020-01-04 06:33:45

问题


Could someone give me a quick easy step by step to adding background m4a music once my app has loaded. It is a sprite kit Xcode file, and the music is in m4a format. Thanks


回答1:


Try with this:

@import AVFoundation;

...

AVAudioPlayer * backgroundMusicPlayer;
NSError *error;
NSURL * backgroundMusicURL = [[NSBundle mainBundle] URLForResource:@"song" withExtension:@"m4a"];
backgroundMusicPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:backgroundMusicURL error:&error];
backgroundMusicPlayer.numberOfLoops = -1; //-1 = infinite loop
[backgroundMusicPlayer prepareToPlay];
[backgroundMusicPlayer play];

and to stop simply

[backgroundMusicPlayer stop];

note: I don't use SKAction to play background music because you can't stop it when you want




回答2:


You can use AVAudioPlayer for this purpose:

In your .h:

#import <AVFoundation/AVFoundation.h>

and add the following to interface

AVAudioPlayer *player;

In .m, initialize player with audio oath url:

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle]
                                             pathForResource:@"bg_music"
                                             ofType:@"mp3"]];
player = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:nil];
player.numberOfLoops = -1;

and when you need to play the audio, you can call:

[player play];

Note: "numberOfLoops" is the number of times that the sound will return to the beginning upon reaching the end.

  • A value of zero means to play the sound just once.
  • A value of one will result in playing the sound twice, and so on...
  • Any negative number will loop indefinitely until stopped.

Keep Coding................ :)



来源:https://stackoverflow.com/questions/21947117/how-do-i-add-background-music-to-my-spritekit-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!