【问题标题】:SKAction playSoundFileNamed no audio through iphone speakerSKAction playSoundFileNamed 没有声音通过 iphone 扬声器
【发布时间】:2013-11-20 18:33:40
【问题描述】:

是否有人在通过 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];
 }

【问题讨论】:

    标签: ios iphone audio sprite-kit skaction


    【解决方案1】:

    我遇到了类似的问题,但可以通过将 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 中找到更多信息。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2015-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-03-04
        • 2011-10-28
        相关资源
        最近更新 更多