首页 文章

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

提问于
浏览
3

有没有人通过 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 回答

  • 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 的音频会话编程指南中找到有关此内容的更多信息。

  • 0

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

相关问题