1. ホーム
  2. ios

[解決済み] swiftで音を作って演奏する

2022-11-07 05:10:51

質問

私がやりたいことは、ボタンを押したときに再生される音をSwiftで作って再生することです。Objective-Cでそれを行う方法を知っていますが、Swiftでそれを行う方法を知っている人はいますか?

Objective-Cの場合はこんな感じでしょうか。

NSURL *soundURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"mysoundname" ofType:@"wav"]];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)soundURL, &mySound);

そして、それを再生するために私がすること。

AudioServicesPlaySystemSound(Explosion);

どうすればいいのか、どなたかご存知でしょうか?

どのように解決するのですか?

私がFlappySwiftに追加したコードのうち、動作するものを紹介します。

import SpriteKit
import AVFoundation

class GameScene: SKScene {

    // Grab the path, make sure to add it to your project!
    var coinSound = NSURL(fileURLWithPath: Bundle.main.path(forResource: "coin", ofType: "wav")!)
    var audioPlayer = AVAudioPlayer()

    // Initial setup
    override func didMoveToView(view: SKView) {
        audioPlayer = AVAudioPlayer(contentsOfURL: coinSound, error: nil)
        audioPlayer.prepareToPlay()
    }

    // Trigger the sound effect when the player grabs the coin
    func didBeginContact(contact: SKPhysicsContact!) {
        audioPlayer.play()
    }

}