ios - Sprite Kit - 改变场景时继续播放音频

标签 ios avfoundation sprite-kit

我使用这段代码来循环播放音频文件:

// *** In your interface... ***
#import <AVFoundation/AVFoundation.h>

...

AVAudioPlayer *testAudioPlayer;

// *** Implementation... ***

// Load the audio data
NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"sample_name" ofType:@"wav"];
NSData *sampleData = [[NSData alloc] initWithContentsOfFile:soundFilePath];
NSError *audioError = nil;

// Set up the audio player
testAudioPlayer = [[AVAudioPlayer alloc] initWithData:sampleData error:&audioError];

if(audioError != nil) {
    NSLog(@"An audio error occurred: \"%@\"", audioError);
}
else {
    [testAudioPlayer setNumberOfLoops: -1];
    [testAudioPlayer play];
}

但是当场景改变时,音频停止了。有没有办法让它在所有场景中都在后台播放?

最佳答案

您将在 SKScene 之上的级别设置音频播放器,我在我的一个 Sprite Kit 应用程序中通过让 UIViewController 播放音乐来做到这一点,然后当我交换 SKScenes 时音乐继续播放。

关于ios - Sprite Kit - 改变场景时继续播放音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22107219/

相关文章:

ios - CMSampleBufferRef 的深拷贝

ios - 如何在音轨中的特定点触发事件或回调?

ios - 使用 HSL 亮度因子从 SKColor 返回较浅的颜色

objective-c - 无法使用 anchorPoint 垂直定位 SKLabelNode

ios - Facebook facebook-ios-sdk 和图 api 不工作

ios - Realm swift : Realm Build Errors After Linking

ios - 使用 Milkman Games [Adobe AIR] 的 AdMob ANE 看不到广告

ios - Objective C 文档目录在设备上不断变化

iOS:AVPlayerViewController 在纵向应用程序中启用全屏旋转

ios - SKTransition crossFadeWithDuration 在 Swift 中无法正常工作