0

iOS のシステム サウンド プレーヤーは一度に 1 つのサウンドしか再生できないため、AVAudioPlayer を使用しています。ただし、同じサウンド ファイルで 2 つの別々の AVAudioPlayer を使用して、同じサウンドを 2 つ再生しようとすると、ノイズが発生します。

ユーザーがタップすると、特定のサウンドを立て続けに再生できるようになり、ノイズのない快適なサウンドが得られるようにしたいと考えています。

同じサウンドに対して 2 つの AVAudioPlayer インスタンスを作成すること、または再生中のサウンドを停止することは推奨されますか? 音を止めても、ボタンをすばやくタップすると静的なフィードバック音が聞こえます。沈黙を待っていたら、クリアしたらボタンをタップしますが、タップし続けると過負荷か何かになります。

とにかく、非常にシンプルなサウンドを立て続けに再生して問題ないようにしようとしています。

フィードバックをお待ちしております。

4

1 に答える 1

0

同じサウンド ファイルで 2 ~ 3 個の AVAudioPlayer を作成することで、この問題を (回避策として) 解決しました。各「再生」メソッドで、最初のサウンドがまだ再生されているかどうかを確認します。その場合は、2 番目のバージョンを再生します。これは私の耳にはうまく機能しているようです。

- (void)playUndo
{
    if ([self isSoundMuted]) return;

    if ([[self undoPlayer] isPlaying])
    {
        [[self undoPlayerTwo] play];
    }
    else
    {
        [[self undoPlayer] play];
    }
}
于 2013-01-05T21:36:14.917 に答える