1

私は目覚まし時計アプリを書いていますが、ユーザーに起床するチャイムを選択させる必要があります。サウンドのリストを含む UITableView があり、ユーザーがサウンドをタップすると再生したい。

ただし、 AudioServicesPlaySystemSound への呼び出しをステップ オーバーしない限り(または、サウンドを聞いた後にトリガーされる AudioServicesDisposeSystemSoundID への呼び出しにブレークポイントを設定しない限り)、サウンドは再生されません。

これはメインスレッドの問題であるという理論があったので、私は performSelectorOnMainThread を使用しました:

        [self performSelectorOnMainThread:@selector(playWakeUpSound)
                               withObject:nil
                            waitUntilDone:true];

しかし、それは役に立ちませんでした。(waitUntilDone の値は問題ではないようです。)

この質問は有望でしたが、確認したところ、メソッドを 1 回しか呼び出していません。

4

1 に答える 1