SKAction playSoundFileNamed 没有声音通过 iphone 扬声器
Posted
技术标签:
【中文标题】SKAction playSoundFileNamed 没有声音通过 iphone 扬声器【英文标题】:SKAction playSoundFileNamed no audio through iphone speaker 【发布时间】: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];
【问题讨论】:
【参考方案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 中的一个错误,因为这是我所做的唯一更改到设备。
【讨论】:
以上是关于SKAction playSoundFileNamed 没有声音通过 iphone 扬声器的主要内容,如果未能解决你的问题,请参考以下文章
SKAction playSoundFileNamed 错误