を受けた後は動作しません。実際には、最初の通話が受信された後でのみ動作します。再現手順は以下のとおりです。SKAction playSoundFileNamedは、私は<strong><em>は、2本の連続した電話を受けた後は動作しません</em></strong>をplaySoundFileNamed理由を把握しようとしています二つの連続電話
- スタート電話用のゲーム
- 待ちと背景
- 電話に行くが、完成している
その後、からtouchesBeganのサウンドが再生されます。
上記の手順を繰り返すと(最初の手順はスキップされます)、touchesBeganからのメカニズムが機能しなくなります。わからないのですが、なぜでしょう...ここで説明した動作を生成することができますコードは次のとおりです。
@interface GameScene()
@property (nonatomic, strong) SKAction *sound;
@end
@implementation GameScene
-(void)didMoveToView:(SKView *)view {
self.sound = [SKAction playSoundFileNamed:@"sound1.wav" waitForCompletion:NO];
}
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
/* Called when a touch begins */
[self runAction:self.sound];
}
@end
私はSOにこれに関連するいくつかの質問があります知っているが、与えられた答えが回避策に関連しています。 私は回避策に興味がありませんが、なぜこれが起こっていますか? AVAudioSessionと何らかの関係がありますか?私はAVAudioPlayerを回避策として使うことができると知っていますが、単純な短い音をたくさん演奏するためにその演奏者がどれくらいか分かりません...
。私は決して解決策を見いだせなかった。私にとっては、それは1つだけの電話を取るだろう。しかし、さらに悪い状況があって、あなたもチェックしたいと思うかもしれません。私はiAdを使用していたし、(戦争広告のゲームのような)サウンドを持った広告が提示されるたびに、これもplaySoundFileNamedを止めるでしょう:アプリケーションがリニューアルされるまで働いていました。私ができる唯一のことは、ゲームから広告を削除することでした。私は、オーディオを使って広告を取得した場合、すべてのゲームサウンドエフェクトが失敗したというユーザーエクスペリエンスを危険にさらすことはできませんでした。そして、ユーザーが電話しないことを願っていました。 – Brad