SKAction playSoundFileNamed通过iphone扬声器没有音频

时间:2013-11-20 18:33:40

标签: ios iphone audio sprite-kit skaction

有没有人在通过iOS设备的外部扬声器使用iOS Sprite Kit通过SKAction playSoundFileNamed播放音频时遇到问题?我有以下代码播放M4A文件没有问题通过耳机;但是,当我拔下耳机时,没有播放音频,单步执行没有声音的代码。我有另一个不使用此方法的应用程序,它没有问题。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    /* Called when a touch begins */

    for (UITouch *touch in touches) {
        CGPoint location = [touch locationInNode:self];
        SKAction *sound = [SKAction playSoundFileNamed:@"blast.m4a" waitForCompletion:NO];
        [self runAction:sound];
 }

2 个答案:

答案 0 :(得分:7)

我有一个类似的问题但是能够通过将AudioSession类别设置为Playback来修复它。这会导致在未插入耳机时通过手机的扬声器传送音频。

// at the top of AppDelegate.m
#import <AVFoundation/AVFoundation.h>

// in application:didFinishLaunchingWithOptions:
NSError *error;
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&error];

您可以在Apple的Audio Session Programming Guide中找到有关此内容的更多信息。

答案 1 :(得分:0)

刚刚更新我今天安装了IOS 7.0.4并重新测试,现在我在外部扬声器上有音频,所以我假设它是IOS 7.0.3中的一个错误,因为这是我做的唯一改变到设备。