我正在尝试使用AVAudioPlayer
在我的游戏中制作背景音乐,因此我使用initWithSize
的{{1}}方法设置此代码:
SKScene
然后,在另一种方法中://SETTING BACKGROUND MUSIC//
NSError * err = nil;
NSURL * musicFile = [[NSBundle mainBundle] URLForResource:@"Cosmic Rush" withExtension:@"m4a"];
music = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:&err];
if(err)
{
NSLog(@"%@", [err userInfo]);
return;
}
[music prepareToPlay];
music.numberOfLoops = -1;
[music setVolume:0.5];
//SETTING BACKGROUND MUSIC//
然而,声音永远不会播放,我尝试过所有类型的扩展程序:[music play];
,.mp3
,.caf
等。我们也检查了那些遇到同样问题的人,但解决他们问题的解决方案都没有与我合作。
答案 0 :(得分:0)
有一种更简单的方法可以为场景添加背景音乐。我使用以下步骤,其工作方式与其他方法一样好,而且更容易。
导入场景顶部的@import AVFoundation;
。
在@implementation
之后立即将其添加为媒体资源。
AVAudioPlayer *_backgroundMusicPlayer;
然后声明音乐的方法
- (void)playBackgroundMusic:(NSString *)filename
{
NSError *error;
NSURL *backgroundMusicURL =
[[NSBundle mainBundle] URLForResource:filename
withExtension:nil];
_backgroundMusicPlayer =
[[AVAudioPlayer alloc]
initWithContentsOfURL:backgroundMusicURL error:&error];
_backgroundMusicPlayer.numberOfLoops = -1;
[_backgroundMusicPlayer prepareToPlay];
[_backgroundMusicPlayer play];
}
之后在-(id)initWithSize:(CGSize)size
中创建对该方法的引用,如下所示
[self playBackgroundMusic:@"bgMusic.mp3"];
应该为你处理背景音乐。